15

这有效:

{% get_option 'payment_conditions' '' true %}

它调用一个带有 3 个参数的函数并返回一个字符串:“我是条件”。伟大的。

我现在要做的就是把它放在一个 IF 语句中。所以要做到这一点,我需要将值转换为变量。就像是:

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

但它不起作用。我也试过:

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

有没有办法可以将结果放入变量中?谢谢

4

1 回答 1

22

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

@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>

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

还引用文档:

1.9 版后已弃用:simple_tag 现在可以将结果存储在模板变量中,应改为使用。

于 2015-08-25T13:12:57.703 回答