Шаблоны приложений Django, расширяющие корневые шаблоны - PullRequest
0 голосов
/ 25 марта 2019

Я прочитал документы, но я изо всех сил пытаюсь понять, в каком именно порядке django ищет шаблоны.

Мои настройки шаблона:

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.jinja2.Jinja2",
        "DIRS": [],
        "APP_DIRS": True,
    },
    {
        "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",
            ]
        },
    },
]

У меня есть папка «templates» в корне проекта, которая имеет такую ​​структуру:

templates
└── jinja2
    └── emails
        ├── base_email.html
        └── base_email.plain

И у каждого приложения есть своя «папка шаблонов», например:

templates
└── jinja2
    └── emails
        └── account
            ├── validate_email.html
            └── validate_email.plain

Шаблоны называются так:

render_to_string(
        "jinja2/emails/account/validate_email.html", context
    )

Кажется, что он может найти начальный шаблон (validate_email), но при проверке электронной почты пытается расширить "base_email":

{% extends "base_email.html" %}

Я пытался заменить этот тег extends на:

{% extends "jinja2/emails/base_email.html" %}

но это не имело значения.

...