Django模板自定义标记为布尔值

时间:2015-01-05 17:02:01

标签: django django-templates

这似乎是一件很简单的事情,但我似乎无法让它为一个人工作,两个我似乎无法在网上得到一个直接的答案,无论是否能够完成。< / p>

我只想要一个像这样的简单标签

{% if my_tag %}
 render something
{% else %}
 render something else
{% endif %}

现在我不关心过滤器或任何其他方式你可以做同样的事情,我希望它看起来完全像那样,并且像描述的那样工作,我有一个简单的标签,实际上确实返回True或者根据需要使用False,如果我像这样调用标签

,则会调用它

{%my_tag%}

然而,如果我在标签前面添加一个if,它是否会被调用,这是一个简单且逻辑无法实现的功能?

1 个答案:

答案 0 :(得分:0)

与潜在重复状态的链接一样,您可以使用类似于以下内容的assignment tag来返回当前时间:

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

在你的模板中,你可以做你想做的事情:

{% if get_current_time %}
 ...show time
{% else %}
 ...don't show time
{% endif %}