【发布时间】:2011-06-01 05:21:29
【问题描述】:
根据 django-developers 列表上的this thread,我不能将常量False 作为参数传递给 Django 模板标签,因为它将被视为变量名而不是内置常量。
但是如果我想创建一个模板标签需要一个真/假参数,那么推荐的创建(在 Python 中)和调用(在模板中)该模板标签的方法是什么?
我可以简单地在模板中传递 1 或 0,它会正常工作,但鉴于 Django 模板创作不应该需要模板编写者的计算机编程知识(例如 1==True,0==False),我是想知道是否有更合适的方式来处理这种情况。
标签定义和使用示例:
@register.simple_tag
def some_tag(some_string, some_boolean = True):
if some_boolean:
return some_html()
else
return some_other_html()
<!-- Error! False treated as variable name in Request Context -->
{% some_tag "foobar" False %}
<!-- Works OK, but is there a better option? -->
{% some_tag "foobar" 0 %}
【问题讨论】:
标签: python django django-templates