Django 如何使用“传递布尔关键字参数”;包括「;模板标签
基本上,我正在尝试将“example.html”作为子模板包含在主模板中。额外的上下文提供了传递关键字参数Django 如何使用“传递布尔关键字参数”;包括「;模板标签,django,django-templates,Django,Django Templates,基本上,我正在尝试将“example.html”作为子模板包含在主模板中。额外的上下文提供了传递关键字参数name和hide\u last\u name的方法。虽然django模板系统能够识别名称,但不知何故,它无法识别隐藏姓氏。我怀疑现在允许在Include标记中使用布尔关键字参数,但我在官方文档中找不到任何地方提到这一点。请帮忙。谢谢。更新:这个答案适用于Django的旧版本。有关Django>=1.5的信息,请参阅 Django模板将True视为变量,并尝试在上下文中查找它。 您可以使用非
name
和hide\u last\u name
的方法。虽然django模板系统能够识别名称
,但不知何故,它无法识别隐藏姓氏
。我怀疑现在允许在Include
标记中使用布尔关键字参数,但我在官方文档中找不到任何地方提到这一点。请帮忙。谢谢。更新:这个答案适用于Django的旧版本。有关Django>=1.5的信息,请参阅
Django模板将True
视为变量,并尝试在上下文中查找它。您可以使用非空字符串表示真值,也可以将真值分配给上下文中的
true
,例如通过TEMPLATE\u context\u处理器
:
{% include "example.html" with name="John" hide_last_name=True %}
对于Django=1.5
您可以在模板中使用True和False,因此这不再是django 1.5中的问题,您可以根据其特性在django模板中使用True
如果你正在开发早期版本,你必须按照@okm的建议去做 我怀疑这一点,但不能确定。谢谢你的确认。
def common_vars(request):
return {
'True': True,
'False': False,
'newline': '\n',
...
}
{% include "example.html" with show_last_name=1 %}
John
{% if show_last_name %}
Doe
{% endif %}