【问题标题】:accessing context variables that contain spaces访问包含空格的上下文变量
【发布时间】:2021-12-29 11:27:25
【问题描述】:

我有 python 字典,我将它的值传递给一个 html 页面来显示它们。 我可以使用{{ value.xxx }} 访问字典的值,其中 xxx 是字典的元素。 这些值出现在屏幕上,下面的姓名、年龄和身高没有问题。 但是,由于文本中的空格,技能集组件不会出现。 如何设置它以便我可以访问包含空格的元素,例如下面的技能组值。

我尝试添加下划线,例如{{ value.skill_set }},但这似乎不起作用。

字典:

dict = {1: {'name': 'John', 'age': '27', 'height': '160', 'skill set': 'running'},
          2: {'name': 'Marie', 'age': '22', 'height': '170', 'skill set': 'swimming'}}

HTML:

<table class="u-full-width" id="table2">
<thead >
    <tr>

    </tr>
  </thead>
 <tbody>
    {% for key,value in dict_items.items %}
    <tr>
        <th scope="row" style="text-align:center">{{ key }}</th>
        <td style="text-align:center">{{ value.name }}</td>
        <td style="text-align:center">{{ value.age }}</td>
        <td style="text-align:center">{{ value.height }}</td>
        <td style="text-align:center">{{ value.skill set }}</td>
    </tr>
    {% endfor %}
</tbody>
</table>

【问题讨论】:

  • 你试过value['skill set']吗?
  • 我认为如果你尝试做value['skill set'],它会抛出一个错误,但我不确定,因为我有一段时间没有接触过Django。
  • value['skill set'] 抛出错误提示“无法解析余数:'['skill set']' from 'value['skill set']'

标签: python html django


【解决方案1】:
<table class="u-full-width" id="table2">
<thead >
    <tr>

    </tr>
  </thead>
 <tbody>
    {% for key,value in dict_items.items %}
    <tr>
        <th scope="row" style="text-align:center">{{ key }}</th>

         {% for key_,value_ in value.items %}

        <td style="text-align:center">{{ value_ }}</td>

         {% endfor %}

    </tr>
    {% endfor %}
</tbody>
</table>

【讨论】:

  • 这设法显示了所有数据(包括技能集),但是我需要能够像上面的示例一样选择要显示的数据。你的方式显示所有条目,但我需要能够控制只显示我希望看到的某些条目。是否可以将您的技术与我的原始代码一起使用?
  • @kitchen800 你的问题是如何展示skill set with space 而我认为这项工作或者我不明白你的问题!!!
  • 是的,有没有办法看到只能显示某些标准(如原始代码)的灵活性?
  • @kitchen800 这是可能的,但你必须创建一个自定义过滤器。但我认为这是最简单的方法之一。你知道如何在 django 中创建自定义过滤器吗?跨度>
【解决方案2】:

Django 模板使用dot notation,并且没有直接的方法来查找其中包含空格的键。你的问题之前有人问过,一些使用自定义过滤器和模板标签等解决方案可以在这里查看:Django templates: value of dictionary key with a space in it

【讨论】:

    猜你喜欢
    • 2016-02-23
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2011-02-20
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多