【发布时间】:2014-10-22 00:23:37
【问题描述】:
我制作了一个非常简单的模板标签,用于检查设置文件是用于生产还是开发。但是好像不能在if语句中使用返回值?
我的标签:
from django.conf import settings
@register.simple_tag
def is_production():
return settings.SETTINGS_MODE == 'Production'
在我的模板中:
{% if is_production %}
....
{% endif %}
当我打印变量 {% is_production %} 时,它在我的模板中返回 True/False,但除此之外它在我的 if 中不起作用。
我做错了什么?
【问题讨论】:
-
这不是模板标签的作用。您最好使用上下文处理器自动将该变量添加到模板上下文中。
-
@DanielRoseman,你能举个例子吗?我基本上使用我的
base.html中的变量,它由实际模板扩展。我认为从我需要区分生产代码和开发代码的非常简单的数据中制作火箭科学没有任何意义。
标签: python django django-views django-templates