我正在使用simple_tag来计算django模板中的值。我目前的代码看起来像,
{% 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模板方法来执行此操作。
答案 0 :(得分:1)
您可以将 assignment_tag 用于此目的,并将return存储在某个变量中,并在模板中检查该变量。
{% 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 %}
<强>更新强>
assignment_tag
已弃用,因为版本1.9simple_tag
现在可以存储 导致模板变量,应该使用。