Bre*_*den 5 python django django-templates
我有一个传递给Django模板的部分列表.这些部分有不同的类型.我想说"如果有这种类型的部分,在我的模板中显示此行",但有问题.我基本上要做的就是这个.
{% if s.name == "Social" for s in sections %}
Hello Social!
{% endif %}
Run Code Online (Sandbox Code Playgroud)
但当然这不起作用.任何想法如何基本上在一行循环通过列表中的项目并执行if语句?
附加信息:我可能有多个"社交"部分.我在模板中尝试做的是说"如果有任何社交部分,则显示此div.如果没有,则不显示div." 但是我不希望div重复,这就是上面代码会发生的情况.
Aar*_*our 12
理想情况下,您要做的是创建模板获取的列表:
l = [s.name for s in sections]
Run Code Online (Sandbox Code Playgroud)
在模板中,使用:
{% if 'Social' in l %}
Run Code Online (Sandbox Code Playgroud)
您试图将更多逻辑放入模板中,而不是将其用于模板.模板应该尽可能少地使用逻辑,而逻辑应该在填充模板的代码中.
Gab*_*oss 11
您不能在模板中使用列表推导:
{% for s in sections %}
{% if s.name == 'Social' %}
Hello Social!
{% endif %} {# closing if body #}
{% endfor %} {# closing for body #}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15784 次 |
| 最近记录: |