我有一个 (template tag - simple_tag) 函数,它接受 1 个参数(和上下文)并返回一个字符串。
所以调用 {% myfunction var1 %}
返回一个字符串(取决于 var1)。
现在我想在 if 语句中使用它,例如:{% if myfunction var1 == 'some string' %}
。
显然那是行不通的,所以我尝试先将返回的字符串保存到一个变量中,然后在 if 语句中使用它。
但 {% myfunction var1 as var2 %}
不起作用,因为它将“as var2”视为第二个函数参数,我收到“收到太多位置参数”错误。
我也尝试过“with”语句,但它也不起作用......
那么如何将函数返回值保存到变量或者如何在 if 语句中直接使用函数??
最佳答案
您可以使用 django.template.Library.assignment_tag()
注册您的模板标签,然后在您的模板中使用 {% myfunction var1 as var2 %}
。
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#assignment-tags
关于python - Django - 在模板中设置变量(或调用参数为函数的 IF 语句),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27609856/