![](/img/trans.png)
[英]Checking if something exists and adding or getting an object from django
[英]Checking if something exists in items of list variable in Django template
我有一个传递给 Django 模板的部分列表。 这些部分有不同的类型。 我想在我的模板中说“如果有这种类型的部分,则显示这一行”,但是有一个问题。 我基本上想做的是这个。
{% if s.name == "Social" for s in sections %}
Hello Social!
{% endif %}
但这当然行不通。 知道如何基本上在一行中循环遍历列表中的项目并执行 if 语句吗?
附加信息:我可能有多个“社交”部分。 我在模板中尝试做的是说“如果有任何社交部分,则显示此 div。如果没有,请不要显示 div。” 但我不希望 div 重复,这就是上面的代码会发生的情况。
理想情况下,您要做的是创建一个模板获取的列表:
l = [s.name for s in sections]
在模板中,使用:
{% if 'Social' in l %}
您正试图在模板中加入比预期更多的逻辑。 模板应该使用尽可能少的逻辑,而逻辑应该在填充模板的代码中。
您不能在模板中使用列表推导:
{% for s in sections %}
{% if s.name == 'Social' %}
Hello Social!
{% endif %} {# closing if body #}
{% endfor %} {# closing for body #}
{% if sections.0.name == "Social" %} Hello Social! {% endif %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.