Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django simple template标记,带“quot;如果;_Django_Templates_Custom Tags - Fatal编程技术网

Django simple template标记,带“quot;如果;

Django simple template标记,带“quot;如果;,django,templates,custom-tags,Django,Templates,Custom Tags,我有一个简单的自定义模板标记: @register.simple_tag def show_language_choice_dropdown_menu(): return SHOW_LANGUAGE_CHOICE_DROPDOWN_MENU 从设置中获取布尔值。如果我简单地将其放入文本中,则不会出现问题,会出现正确的值,但如果我尝试检查: {% if show_language_choice_dropdown_menu %} 它不起作用——每次都是假的。怎么了?不知道你能不能这样做。

我有一个简单的自定义模板标记:

@register.simple_tag
def show_language_choice_dropdown_menu():
    return SHOW_LANGUAGE_CHOICE_DROPDOWN_MENU
从设置中获取布尔值。如果我简单地将其放入文本中,则不会出现问题,会出现正确的值,但如果我尝试检查:

{% if show_language_choice_dropdown_menu %}

它不起作用——每次都是假的。怎么了?

不知道你能不能这样做。
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 %}

有关更多信息,请参阅

您是否已将其作为{%load awesome_tags_file%}包含在html中?