为什么我不能在if标签中嵌套块标签?

Sov*_*iut 7 tags django templates django-templates

我有一个名为的主模板文件base.html,其中包含以下代码:

{% ifequal environment "dev" %}
    {% block stylesheets %}{% endblock %}
{% endifequal %}
Run Code Online (Sandbox Code Playgroud)

我在其他模板中继承了这个并执行以下操作:

{% block stylesheets %}
    <link ... >
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

问题是,我链接的样式表永远不会被应用,无论是否在基数中满足ifequal条件,样式表块似乎都被忽略.

Dom*_*ger 18

编辑(2010年10月14日):

根据关于Django票的评论,原来的问题标题不再正确.

原答案:

我不知道为什么不,但你可以做到:

{% block stylesheets %}
    {% ifequal environment "dev" %}
        ... something ....
    {% else %}
        {{ block.super }}
    {% endifequal %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

重新思考了一下 - 我想这意味着在你的每个模板中重复这个逻辑,这是相当令人不满意的,但无论如何我都会留下这个答案.我已经快速浏览了Django门票,找不到任何相关内容.


Car*_*yer 6

此问题不再相关 - 从r12655开始,可以在条件中嵌套块标记.

  • 这不再是真实的,也不是相关的.以下答案是正确的. (4认同)