我定义了这个简单的标签并将其加载到我的模板中:
from django import template
@register.simple_tag
def defining(val=None):
return val
标签有效!
我的目标是,我想使用一些条件在 FOR 循环中使用这个简单的标签为变量设置一个值,然后在离开 FOR 后检查这个变量的值。简单吧?
{% defining 'negative' as var %} {% for anything in some_query_set %} {% if 1 == 1 %} {% defining 'positive' as var %} {% endif %} {% endfor %} <p>The value of var is: {{var}}</p>
问题是:我希望这个变量“var”在离开 for 后是“正数”,但它总是变成“负数”。我已经在 IF 和 FOR 内部检查了它的值,它按预期得到“正”,但在离开 FOR 后,它又回到“负”。
我可能有一些通过视图使用上下文变量的解决方法,但我确实需要在模板中执行此操作。我也搜索了论坛,但我找不到足够接近的东西来解释为什么会发生这种情况。我错过了什么吗?
我对 Django 有点陌生,所以我试图避免更复杂的方法,谢谢。