为什么可以';我不能在条件中使用这个django模板变量吗?

为什么可以';我不能在条件中使用这个django模板变量吗?,django,django-templates,django-settings,Django,Django Templates,Django Settings,之后,我可以访问模板中的allowed_contributors变量,并可以将其打印出来,但在任何类型的if-else语句中使用它都不起作用。它没有给我500个错误,但它的行为就像它是空的 我正在从templatetags加载的文件: from django import template from django.conf import settings register = template.Library() @register.simple_tag def allowed_contrib

之后,我可以访问模板中的allowed_contributors变量,并可以将其打印出来,但在任何类型的if-else语句中使用它都不起作用。它没有给我500个错误,但它的行为就像它是空的

我正在从templatetags加载的文件:

from django import template
from django.conf import settings
register = template.Library()

@register.simple_tag
def allowed_contributors():
    return getattr(settings, "ALLOWED_CONTRIBUTORS", "")
下面是我在模板中添加的内容(没有在顶部显示“load”命令,但我想这一定有效)


创建新项目
{%allowed_contributors%}

{%if“true”在允许的\u贡献者%} 在允许的贡献者中找到“true”

{%endif%} {%if“false”在允许的\u贡献者%} 在允许的贡献者中发现“false”

{%endif%}
HTML输出如下所示:

<div class="container">
    <h1>Create new project</h1>
    <p> ('auth', 'false') </p>


</div>

创建新项目
('auth','false')

我尝试过多次输出允许的_贡献者,以防第一次被使用,但似乎没有什么区别

当我使用它作为if语句的条件时,是否需要以不同的方式引用它

如果有用的话,我正在使用Django 1.8


编辑:提供的两个合理答案都不适用于我,可能是因为我不知道该项目的其他配置。我通过使用稍微复杂一点的代码来解决这个问题。

同样的代码对我也适用

注意:
{%allowed\u contributors%}

需要是
{{allowed\u contributors}}

也许这是在抛弃你的密码

我明白了

创建新项目

('auth','false')

在允许的贡献者中发现“false”


同样的代码也适用于我

注意:
{%allowed\u contributors%}

需要是
{{allowed\u contributors}}

也许这是在抛弃你的密码

我明白了

创建新项目

('auth','false')

在允许的贡献者中发现“false”

这不会在上下文中设置值,它只输出标记的结果

要指定值,请执行以下操作:

{% allowed_contributors as contributors %}
然后可以显示值

{{ contributors }}
并在其他标记中使用它:

{% if "true" in contributors %}
   <p>"true" found</p>
{% endif %}
这不会在上下文中设置值,它只输出标记的结果

要指定值,请执行以下操作:

{% allowed_contributors as contributors %}
然后可以显示值

{{ contributors }}
并在其他标记中使用它:

{% if "true" in contributors %}
   <p>"true" found</p>
{% endif %}

谢谢你尝试这个。我一定错过了你有的东西。我尝试了{allowed_contributors}}语法,但它对我不起作用!未显示该变量。请注意,如果有区别的话,我将使用django 1.8。谢谢您的尝试。我一定错过了你有的东西。我尝试了{allowed_contributors}}语法,但它对我不起作用!未显示该变量。请注意,如果这有什么不同的话,我现在使用django 1.8。谢谢,我尝试了使用您建议的语法的赋值标记,但以与其他方法相同的方式失败。我在django 1.8中使用设置文件中的
ALLOWED\u SETTINGS=('auth','false')
测试了我的答案,它对我有效。谢谢,我尝试了使用您建议的语法的赋值标记,但以与其他方法相同的方式失败。我在Django 1.8中使用设置文件中的
ALLOWED\u SETTINGS=('auth','false')
测试了我的答案,它对我有效。