Использование нескольких базовых шаблонов - это решение, которое я видел в нескольких командах. Например, вы можете просто добавить дополнительный базовый шаблон с именем «base_with_form.html». Шаблоны, которым нужна форма, расширяют этот базовый шаблон.
Одна вещь, которая помогла мне, - подумать о разметке каталогов шаблонов способом, аналогичным пакетам Python. Я обычно включаю base.html для каждого каталога (ala init .py), даже если это просто заполнитель. Каждый базовый файл расширяет базовый файл в своем родительском каталоге. Дополнительные специализации стилей для нескольких шаблонов в одном каталоге выполняются путем добавления копий локального base.html с необходимыми изменениями.
Ex:
templates/
base.html
index.html (extends "base.html")
accounts/
base.html (extends "base.html")
affiliate_base.html (extends "base.html")
my_account.html (extends "accounts/base.html")
affiliate_dashboard.html (extends "accounts/affiliate_base.html")
vips/
base.html (extend "accounts/base.html")
vip_lounge.html (extends "accounts/vips/base.html")