带有 "if" 的 Django 简单模板标签
Django simple template tag with "if"
我有一个简单的自定义模板标签:
@register.simple_tag
def show_language_choice_dropdown_menu():
return SHOW_LANGUAGE_CHOICE_DROPDOWN_MENU
从设置中获取布尔值。如果我简单地把它放在文本中没有问题,就会出现正确的值,但是如果我尝试检查:
{% if show_language_choice_dropdown_menu %}
它不起作用 - 每次都是 False。怎么了?
我想知道你是否可以这样做。 if
语句查找变量 show_language_choice_dropdown_menu
并且可能没有这样的变量。尝试改用赋值标签:
@register.assignment_tag
def show_language_choice_dropdown_menu_tag():
return SHOW_LANGUAGE_CHOICE_DROPDOWN_MENU
然后按如下方式使用它:
{% show_language_choice_dropdown_menu_tag as show_language_choice_dropdown_menu %}
{% if show_language_choice_dropdown_menu %}
更多信息请参考https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/#assignment-tags
我有一个简单的自定义模板标签:
@register.simple_tag
def show_language_choice_dropdown_menu():
return SHOW_LANGUAGE_CHOICE_DROPDOWN_MENU
从设置中获取布尔值。如果我简单地把它放在文本中没有问题,就会出现正确的值,但是如果我尝试检查:
{% if show_language_choice_dropdown_menu %}
它不起作用 - 每次都是 False。怎么了?
我想知道你是否可以这样做。 if
语句查找变量 show_language_choice_dropdown_menu
并且可能没有这样的变量。尝试改用赋值标签:
@register.assignment_tag
def show_language_choice_dropdown_menu_tag():
return SHOW_LANGUAGE_CHOICE_DROPDOWN_MENU
然后按如下方式使用它:
{% show_language_choice_dropdown_menu_tag as show_language_choice_dropdown_menu %}
{% if show_language_choice_dropdown_menu %}
更多信息请参考https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/#assignment-tags