Включение переопределения шаблона приложения в django? - PullRequest
1 голос
/ 23 января 2010

Я пишу простой сайт для отображения статистики по некоторым данным, и у меня есть приложение под названием "stats", для которого я хотел бы написать шаблоны по умолчанию (места в stats / templates / stats), но Я бы хотел, чтобы их можно было переопределить так же, как шаблоны для приложения администратора. IE: если бы я поместил stats / view.html в каталог шаблонов моего проекта, он был бы использован, а не в каталоге моих приложений. Я не могу понять, как это сделать. Как я могу заставить Django искать TEMPLATE_DIRS проекта, прежде чем он запустит приложения?

Edit: нашел проблему, увидел чей-то учебник по настройке каталогов шаблонов с помощью модуля os. У них было:

TEMPLATE_DIRS = (
    os.path.join(os.path.basename(__file__), 'templates')
)

Что должно быть:

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__), 'templates')
)

1 Ответ

2 голосов
/ 23 января 2010

Вам необходимо установить filesystem loader перед app_directories loader в настройках TEMPLATE_LOADERS.

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source'
)

Порядок TEMPLATE_LOADERS вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...