Джанго-jinja2 е лесна спад на решение за условно и безпроблемно оказване jinja2 шаблони (с техния контекст), докато в неизпълнение на двигателя на шаблон Джанго.
По подразбиране, ако името на файла съдържа .jinja (или foo.jinja.html) разширение, шаблона ще бъдат предоставени чрез jinja2.
Състоянието може да се персонализира направо settings.py в JINJA2_ENGINE_CONDITION, функция, която получава пълния път до шаблона като първи аргумент. Jinja2 се използва, ако функцията връща True.
& Nbsp; Например, бихте могли да използвате двигателя, ако файлът е в директория на име Джинджа, или да прочетете първия ред на файла.
Вие може да принуди всички шаблони за използване jinja2 като винаги се връщат True напр ламбда х: True
Средата на jinja2 е създаден с една и съща среда на Django товарачи използват - това е всичко, на директориите, върнати от всяка товарач определено в settings.TEMPLATE_LOADERS
<Силен> Монтаж
Grab код
Clone хранилището и и добавете django_jinja2 на вашите пакети питон сайта или инсталиране използване PIP инсталирате Джанго-jinja2.
Добави в settings.py
Добави "django_jinja2" да си инсталират приложения
INSTALLED_APPS = [
& Nbsp; # ...,
& Nbsp; "django_jinja2",
]
Заменете своя шаблон товарачи с товар в django_jinja2.loaders.
TEMPLATE_LOADERS = (
& Nbsp; "django_jinja2.loaders.filesystem.Loader",
& Nbsp; "django_jinja2.loaders.app_directories.Loader",
)
Готово! Сега всичко, което трябва да направите, е да направи шаблон с Джинджа име в продължението.
Настройки По подразбиране
Настройките по подразбиране могат да бъдат обезсилени чрез настройките на Джанго сайта.
JINJA2_GLOBAL_CONTEXT = {
& Nbsp; "обратната": обръщане,
& Nbsp; "MEDIA_URL": settings.MEDIA_URL,
& Nbsp; "STATIC_URL": getattr (настройки, "STATIC_URL ',' '),
}
JINJA2_EXTENSIONS = []
# Може да бъде функция, която приема име на шаблон, / шаблонни директории
# Една потенциално биха могли да прочетете файла и да се гарантира, че има флаг или определен режим в началото на файла и т.н.
JINJA2_ENGINE_CONDITION = ламбда template_path: "Джинджа" в os.path.basename (template_path) .split (".")
# Файловете достъпни за тези шаблонни Джанго товарачи се спря на Джинджа среда
JINJA2_TEMPLATE_LOADERS = settings.TEMPLATE_LOADERS
# Замени шаблон клас Джинджа 2, както се изисква
JINJA2_TEMPLATE_CLASS = Jinja2DjangoTemplate
ако settings.DEBUG:
& Nbsp; JINJA2_UNDEFINED_CLASS = Jinja2UndefinedClass
друго:
& Nbsp; JINJA2_UNDEFINED_CLASS = Jinja2UndefinedClass
<силни> Изисквания :
- Python
- Django
Коментари не е намерена