Странный шаблон включает и расширяет поведение в Django - PullRequest
3 голосов
/ 17 ноября 2010

Gurus, Я много раз гуглял по этому вопросу, но едва могу найти какую-либо полезную информацию.

Итак, предположим, что у нас есть шаблон base.html как:

{% block test %}This is the base!{% endblock %}

И 2 дочерних шаблона под этим, a.html и b.html

a.html:

{% extends "base.html" %}
{% block test %}This is the A!{% endblock %}

b.html

{% extends "base.html" %}
{% block test %}This is the B!{% endblock %}

Теперь у нас есть 4-й шаблон как root.html

<html>
    <body>
        {% include 'a.html' %}
        {% include 'b.html' %}
        {% include 'base.html' %}
    </body>
</html>

Поэтому, когда я рендерим root.html, я ожидаю получить что-то вроде:

Это А! Это Б! Это база!

Но как ни странно, я всегда получаю:

Это А! Это А! Это А!

Почему именно это происходит?

1 Ответ

2 голосов
/ 17 ноября 2010

ОК, наверное, я нашел основную причину: плагин djang debug_toolbars. Как только я отключаю его в settings.py, тогда все работает просто отлично ...

Это странно, но я думаю, что я бы опубликовал проблему в списке отслеживания проблем плагина.

Надеюсь, это поможет тем, у кого была такая же проблема

[EDIT] Эта ошибка выглядит как исправленная в последней версии 0.8.4, и она меня очень сильно беспокоила за 0.8.3.

...