【发布时间】:2014-10-28 00:10:25
【问题描述】:
我已经设置了一个自定义模板标签(simple_tag)(使用https://stackoverflow.com/a/7716141/1369798),其定义如下:
templatetags/polls_extras.py
def settings_value(name)
我可以像这样在我的模板中使用它:
templates/index.html
{% settings_value "ALLOWED_BOOL" %}
但这只是将文本插入到我的 HTML 输出中。
在 {% if %} 中使用带有参数的模板标签的语法是什么?
我试过了,但我得到了错误:TemplateSyntaxError at / Unused '"ALLOWED_BOOL"' at end of if expression。
templates/index.html
{% if settings_value ALLOWED_BOOL %}
You are allowed.
{% endif %}
【问题讨论】:
-
类似stackoverflow.com/questions/11372177/… 但我想在里面加个参数!
-
您确定不能将此值从视图发送到模板吗?在模板中设置一个新变量以在其中使用似乎并不常见。
-
不...每个页面都需要它。已经在stackoverflow.com/a/7716141/1369798 中进行了帐户讨论,这是最好的解决方案......只是想知道如何去做!
-
我认为对您来说更好的方法是自定义上下文处理器。自定义上下文处理器可以自动向所有模板“注入”新数据。