Django-overextends многоразовый приложение Django обеспечения overextends тег шаблона, капля в замена Джанго расширяет тег, который позволяет использовать круговой наследование шаблонов.
Основной сценарий использования для overextends является одновременно переопределить и расширить шаблоны из других многоразовых приложений, в вашем собственном проекте Django.
Пример
Рассмотрим следующий модуль и шаблоны настроек, с App1 приложений и app2 комплекте в проекте, ради полученными в Примере в:
# Settings.py
INSTALLED_APPS = (
& NBSP; "app1",
& NBSP; "app2",
& NBSP; "overextends",
)
TEMPLATE_LOADERS = (
& NBSP; "django.template.loaders.filesystem.Loader",
& NBSP; "django.template.loaders.app_directories.Loader",
)
PROJECT_ROOT = os.path.dirname (os.path.abspath (__ FILE__))
TEMPLATE_DIRS = (os.path.join (PROJECT_ROOT, "шаблоны"),)
Название
{% Блок%} Основной
Абзац в App1
{%}% Enblock
<Подвал> Copyright 2012 примечание>
{% Overextends "страницы / page.html"%}
{% Блок%} Основной
Абзац в app2, что хочет быть на верхней части главного блока app1 в
{{}} Block.super
{%}% Enblock
{% Overextends "страницы / page.html"%}
{% Блок%} Основной
{{}} Block.super
Абзац в каталоге шаблона проекта, в рамках других основных блоков
{%}% Enblock
В результате HTML-страницы, когда оказывается / page.html был загружен бы:
Название
Абзац в app2, что хочет быть на верхней части главного блока app1 в
Абзац в App1
Абзац в каталоге шаблона проекта, в рамках других основных блоков
Copyright 2012
Для детального анализа того, почему вы должны использовать этот подход, как она работает, и альтернативные подходы, прочитайте мою первоначальную запись в блоге: круглый шаблон наследования Django.
Установка
Самый простой способ установить Django-overextends прямо из PyPi помощью PIP, выполнив следующую команду:
& NBSP; пункт установить Django--U overextends
В противном случае вы можете скачать Django-overextends и установить его непосредственно из источника:
& NBSP; питон setup.py установить
Конфигурация проекта
После установки вы можете настроить ваш проект, чтобы использовать Django-overextends, добавив overextends приложение к INSTALLED_APPS в настройках модуля вашего проекта:
INSTALLED_APPS = (
& NBSP; # ... другие приложения здесь ...
& NBSP; 'overextends ",
)
Обратите внимание, что в то время как распространяется тег обеспечивается overextends.templatetags.overextends_tags пакет, нет необходимости использовать {% нагрузки overextends_tags%} в шаблонах. Как и расширяет тег, overextends должен быть первым тегом в шаблоне, так оно автоматически добавляется в Django встроенного в тегах шаблонов, устраняя необходимость загрузки ее библиотеку тегов в каждом шаблоне.
Требования
- Python
- Джанго
Комментарии не найдены