Я использую jinja2 для рендеринга шаблона в django:
TEMPLATES = [
{
"BACKEND": "django.template.backends.jinja2.Jinja2",
"DIRS": [os.path.join(BASE_DIR, "templates/jinja2/")],
"APP_DIRS": True,
"OPTIONS": {"environment": "management.jinja2_conf.environment"},
},
{
"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",
]
},
},
]
Исходный шаблон в myproject/foo/templates/jinja2/...
.Джинджа, кажется, нашел это хорошо.Этот шаблон расширяет базовый шаблон, который находится в myproject/templates/jinja2/...
.Этот не может быть найден.Странно, но после смерти загрузчика шаблонов, когда django ищет базовый шаблон, он не использует jinja2 - он просто использует обычный бэкэнд django.Я понятия не имею, почему это ...
Сообщение вскрытие:
Template loader postmortem
Django tried loading these templates, in this order:
Using engine django:
* django.template.loaders.app_directories.Loader: /Users/foo/.pyenv/versions/management/lib/python3.7/site-packages/django/contrib/admin/templates/base_email.plain (Source does not exist)
* django.template.loaders.app_directories.Loader: /Users/foo/.pyenv/versions/management/lib/python3.7/site-packages/django/contrib/auth/templates/base_email.plain (Source does not exist)
* django.template.loaders.app_directories.Loader: /Users/foo/.pyenv/versions/management/lib/python3.7/site-packages/rest_framework/templates/base_email.plain (Source does not exist)
* django.template.loaders.app_directories.Loader: /Users/foo/work/sva/management/users/templates/base_email.plain (Source does not exist)
* django.template.loaders.app_directories.Loader: /Users/foo/work/sva/management/utils/templates/base_email.plain (Source does not exist)