Как переопределить базовый шаблон Django - PullRequest
3 голосов
/ 14 октября 2011

Мне нужно расширить базовый шаблон для страницы в моем приложении Django, но есть несколько элементов HTML, которые я должен исключить из этой новой страницы, которые находятся в базе.Каков наилучший способ их удаления?Я просто удаляю элементы с помощью JQuery?

Ответы [ 2 ]

5 голосов
/ 14 октября 2011

Вы можете использовать шаблоны блоков для достижения этой цели. Например, в base.html окружите элементы HTML в именованном блоке:

{% block a_unique_name %}<div>This is only relevant in base.html</div>{% endblock %}

HTML-код в блоке будет использоваться только в том случае, если другой шаблон не переопределит его. Вы можете переопределить его в своем под-шаблоне так:

{% extend base.html %}
{% block a_unique_name %}{% endblock %}

Теперь будет использоваться значение из под-шаблона, и оно будет переопределять значение по умолчанию из base.html.

0 голосов
/ 14 октября 2011

Создать базовый шаблон без этих элементов. Создайте дочерний шаблон с этими элементами. Унаследуйте все страницы от этого дочернего шаблона и этой конкретной страницы - от базового шаблона.

Другой способ - поместить эти элементы в блок базового шаблона.

{# base template #}
{% block override_me %}
<elem1 /><elem2 />
{% endblock %}

{# child template #}
{% block override_me %}{% endblock %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...