与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 %}