【发布时间】:2021-01-02 13:16:48
【问题描述】:
我正在尝试在 for 块中使用带有变量的 Jinja2 作为字典参数。
{% for x in dict_one %}
{% with id=x.id %}
<tr>
<th scope="row">{{x.id}}</th>
<td>
{% for a, b in dict_two.id.items %}
Key: {{a}} Value {{b}}
{% endfor %}
</td>
</tr>
{% endwith %}
{% endfor %}
在这种情况下,我的页面不显示任何数据。如果我将此行硬编码,将 id 更改为 11(从 x.id 显示在我的表中的值),它可以工作。
{% for a, b in dict_two.11.items %}
该解决方案应该可以在访问字典项目时使用 with 变量。
【问题讨论】:
-
显示views.py的代码
-
没什么大不了的,dict_one是一个QuerySet,每个对象都有字段id,dict_two就像:{11: {'Item_ABC': 2}, 12: {'another_item': 23}}。我有兴趣显示查询集的所有字段,然后显示与第二个字典中的 id 匹配的字段(带有项目的那个)
-
@learner123 请尝试在 view.py 中处理嵌套的 for 循环和 with 语句
标签: django django-models django-views django-templates jinja2