2
好吧,我寫這篇文章:如何從templatetag返回值插入到{%,如果 - 再次
@register.simple_tag
def get_something(data, var1, var2):
if data:
if var1:
if var2:
return { 'variable': True }
return return { 'variable': False }
但這:
{% get_something 1 0 1 %}
{% if not variable %}
...
{% endif %}
仍然沒有工作......始終顯示」。 ..」
這似乎不工作(再?):''get_something'收到太多的位置參數'。我也嘗試過使用'{env = envname%}',但它似乎沒有調用templatetag。 (Django 1.6.5)。 – blueyed
@blueyed如果您使用'@ register.assignment_tag'而不是'@ register.simple_tag',它應該按預期工作。看看[文檔](https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#assignment-tags)。請記住,這從Django 1.9開始已被棄用。 – Hopiu