Джанго шаблон jinja2, расширяет еще один шаблон.Джанго рендерит базовый шаблон без jinja2 - PullRequest
0 голосов
/ 25 марта 2019

Я использую 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)
...