Я работаю над сайтом Django, который имеет несколько разделов и подразделов. Я хотел бы иметь несколько глубин наследования шаблонов: базовый шаблон для всего сайта, один базовый шаблон для каждого раздела, который наследуется от базового шаблона корня и т.д. Вот упрощенная версия моей желаемой структуры каталогов:
base.html
section1/
base.html
section2/
base.html
section3/
base.html
Я бы хотел, чтобы все файлы под section1/
содержали что-то вроде {% extends "base.html" %}
, то есть они расширяли бы section1/base.html
. section1/base.html
будет содержать что-то вроде {% extends "../base.html" %}
, что означает, что он расширит базовый файл корневого уровня. Тем не менее, я не мог найти ничего в документации, предполагая, что это возможно, и я не мог заставить Django различать "../base.html"
и "base.html"
. ({% extends "../base.html" %}
выдает ошибку.) Я полагаю, что одним из способов было бы переименование всех базовых файлов base_SECTIONNAME.html
и обновление всех файлов, которые наследуются от них, но я обеспокоен тем, что это может стать трудно поддерживать, поскольку мой сайт станет больше и разделы меняют имена и т.д. Я бы предпочел решение, которое использует естественную иерархию, заданную каталогами и подкаталогами.
Любые идеи?