将简单标记的结果放入变量中

Put the result of simple tag into a variable

这个有效:

{% get_option 'payment_conditions' '' true %}

它调用一个带有 3 个参数的函数,它 returns 一个字符串:"I am the conditions"。太好了。

我现在要做的是把它放在一个IF语句中。所以要做到这一点,我需要将值放入一个变量中。类似于:

{% with conditions = get_option 'payment_conditions' '' true %}

但是不行。我也试过:

{% get_option 'payment_conditions' '' true as conditions %}

有什么方法可以将结果放入变量中吗?? 谢谢

如果您使用的是 < 1.9 的 django,请使用赋值标签。文档是 here。我在此处的文档中发布了示例:

@register.assignment_tag
def get_current_time(format_string):
    return datetime.datetime.now().strftime(format_string)

然后在模板中:

{% get_current_time "%Y-%m-%d %I:%M %p" as the_time %}
<p>The time is {{ the_time }}.</p>

使用as语句可以看到模板标签结果变成了一个变量。您可以随意使用 the_time,包括 if 语句。

也引用文档:

Deprecated since version 1.9: simple_tag can now store results in a template variable and should be used instead.