Я не могу заставить Django использовать движок шаблонов по умолчанию для приложения администратора и использовать Jinja2 везде. Кажется, что независимо от того, что я делаю, я могу заставить одного из двух работать одновременно. Я попытался изменить порядок, идет ли сначала блок Jinja или DjangoTemplates, добавляя / удаляя материал из поля DIRS
и устанавливая APP_DIRS
в False. Я либо ломаю все это (либо с TemplateNotFound
, либо с неправильным синтаксисом, когда неправильный бэкэнд пытается рендериться), либо получаю только одно из двух функционирующих.
Я использую django-jinja
пипспакет , который позволяет мне оставлять свои шаблоны в папке templates
вместо перемещения их в каталог jinja2
.
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
{
"BACKEND": "django_jinja.backend.Jinja2",
"DIRS": [os.path.join(BASE_DIR, "templates")],
"APP_DIRS": True,
"OPTIONS": {
"match_extension": ".html",
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.contrib.auth.context_processors.auth",
"django.template.context_processors.i18n",
"django.template.context_processors.media",
"django.template.context_processors.static",
"django.template.context_processors.tz",
],
"match_regex": r"^(?!admin/).*",
},
},
]
(ОК, думаю, я могу избавиться от множествате процессоры, которые, я уверен, я не использую, но это отдельная проблема)