与simple_tag的返回值比较
问题描述:
我使用simple_tag来计算django模板中的值。我当前的代码看起来像,与simple_tag的返回值比较
{% for param_a in params_A %}
{% for param_b in params_B %}
<p>{% awesome_tag param_a param_b %}</p>
# other_stuffs
{% endfor %}
{% endfor %}
现在我想跳过other_stuffs
如果从awesome_tag
返回的值是foo
。 我知道我可以在视图中执行此操作,然后在上下文中传递项目,但我想知道是否有更好的Django模板方法来执行此操作。
答
您可以使用assignment_tag来实现此目的,并将返回值存储在某个变量中并检查模板中的变量。
{% for param_a in params_A %}
{% for param_b in params_B %}
<p>{% awesome_tag param_a param_b as result%}</p>
{% if result != "foo" %}
# other_stuffs
{% endif %}
{% endfor %}
{% endfor %}