Шаблон Django включает / расширяет подкаталоги - PullRequest
2 голосов
/ 07 декабря 2010

С учетом следующего каталога:

|- basic.html
|- nav.html
|- folder1/
|- |- page.html
\- \- nav.html

page.html extends ../basic.html, который включает nav.html

В этом случае включается folder1/nav.html.Если я удаляю folder1/nav.html, , ничего не включается.Как это исправить?Я мог бы встроить nav.html в basic.html, но в будущем могут возникнуть ситуации, когда я хочу, чтобы basic.html сделал несколько включений.

edit: Идея в том, что все, что унаследовало basic.html,получите шаблон верхнего уровня nav.html, но это не так, потому что директива include nav.html оценивается в текущем каталоге любого шаблона.

1 Ответ

1 голос
/ 07 декабря 2010

Я не знаю, правильно ли я все понял, но я думаю, что вы должны заключить include в block?

Basic.html:

...
{% block navigation %}
{% include "nav.html" %}
{% endblock %}

page.html:

{% extends "../basic.html" %}
{% block navigation %}
{% include "folder1/nav.html" %}
{% endblock %}

Если вы не перезаписываете блок навигации в page.html, следует использовать оригинальное включение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...