关于如何不使用break
,Jinja docs就是一个很好的例子:
{% for user in users if not user.hidden %}
<li>{{ user.username|e }}</li>
{% endfor %}
然而,当尝试在Django模板中使用类似的方法时,它给了我错误:
TemplateSyntaxError at /childminder/task-list/
'for' statements should use the format 'for x in y': for link in form.links if link.status == form.status
原始代码:
{% for link in form.links if link.status == form.status %}
{% url link.url id=application_id %}
{% else %}
{% for link in form.links if link.status == "Other" %}
{% url link.url id=application_id %}
{% endfor %}
{% endfor %}
点是表单列表中的链接列表(因此这些链接仅属于特定表单),并且该链接列表中包含status
和url
。如果所有链接状态都与表单状态不匹配,则搜索链接状态Other
并打印其链接。
不能提出另一种方法。只是在表单中添加一个link_default对象对我来说听起来不太好。