Django模板中的嵌套块

Bol*_*wyn 22 django templates nested django-templates

master我的Django应用程序中的模板如下所示:

{% block parent %}
    Some text...
    {% block child %}
        Default content here...
    {% endblock child %}
    ...some more text
{% endblock parent %}
Run Code Online (Sandbox Code Playgroud)

现在,应该以child更改块的方式覆盖此模板:

{% extends "master.html" %}

{% block child %}
    New content here...
{% endblock child%}
Run Code Online (Sandbox Code Playgroud)

但是,渲染保持不变(在此处打​​印"默认内容...").我是否遗漏了一些明显的东西或嵌套的块不可能?(或者,违反DRY原则,我是否要重新定义parent块?)

编辑:我正在使用Django 1.1,如果这很重要.

Bol*_*wyn 11

好的,这是Django模板系统中的一个错误.对于大多数其他案例,本詹姆斯是对的(见他对我上面的问题的评论).

在我的情况下,该child块是一个内部的{% ifnotequal a b %}块,并且打破了块继承.我认为这是一个bug,因为这些操作有很多自然用例.

相应的票.

  • 总是_test_你发布的代码是一个好主意,而不是假设你拿出的代码不会影响结果. (2认同)