Django Загрузка шаблонов с наследованием из определенного каталога - PullRequest
1 голос
/ 15 февраля 2010

В нашем проекте у нас есть куча разных шаблонов, которые клиенты могут выбрать (для своего интернет-магазина). Структура файла выглядит примерно так:

templates
    cart.html
    closed.html
    head.html
    standard
        bishop
        default
        indiana
        marley
        mocca
        nihilists
        raconteurs
        tripwire

Каждая подпапка стандарта содержит несколько файлов шаблонов, таких как base.html, browse.html и item.html. Обзор и Предмет наследуют от базы.

Я хочу визуализировать шаблон просмотра в определенной папке шаблонов (скажем, templates / standard / bishop), изолированной от любых других глобальных настроек пути шаблона в моем приложении. Есть ли способ сделать это?

ОБНОВЛЕНИЕ: Я постараюсь быть более ясным. Если я просто отображаю browse.html из подпапки bishop, он пытается расширить base.html и не может его найти. Я мог бы изменить путь к шаблону настроек, чтобы включить папку «епископ», но я ищу способ заставить его работать, оставив его в покое.

1 Ответ

4 голосов
/ 15 февраля 2010

В ваших шаблонах / standard / bishop / browse.html вы делаете следующее:

{% extends "base.html" %}

Это относится к templates / base.html , а не к templates / standard / bishop / base.html . По умолчанию Django проверит ваши установленные приложения, а также каталоги шаблонов, которые вы указали в TEMPLATE_DIRS в settings.py.

Это поведение указано параметром TEMPLATE_LOADERS в settings.py:

.

Возможно, вам удастся сойти с рук, создав собственный загрузчик шаблонов, в противном случае просто укажите фактический путь к base.html:

{% extends "standard/bishop/base.html" %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...