Почему не имеет смысла хранить шаблоны Django в связанных приложениях?

За победный ответ на этот вопрос и за все остальное, что я прочитал на веб-сайтах, вы, скорее всего, будете помещать шаблоны Django для mySubAppX в папке за пределами mySubAppX - Наиболее часто myProject/templates/mySubAppX где templates это каталог, который соответствует фактическому mySubAppX каталог, где хранится приложение.

Зачем? Особенно, когда вы делаете субприложения модульными, почему?

2 ответа

Решение

Это не правило и зависит. Также есть сторонник решения внутри приложения.

Централизованно-шаблонным способом templates/app/template_nameнайти шаблон быстро, а имена шаблонов могут быть такими простыми, как: app/item.html; Вы можете легко управлять / перемещать весь каталог в какое-то место, например, на диск памяти.

С другой стороны, способы внутри приложения, app/templates/app_template_name или же app/templates/app/template_name, лучше работать для упакованных приложений. Что касается редактирования, мой коллега обнаружил, что решение внутри приложения более удобно для разработки в Eclipse.

Как okm сказал, что это не правило. Джанго всегда смотрит первым TEMPLATE_DIRS каталоги для поиска шаблонов, затем они возвращаются в каталог приложений / пакетов для поиска шаблонов. Поэтому рекомендуется размещать шаблоны приложений так, чтобы их можно было быстро найти.

Вы все еще можете разместить свои шаблоны в вашем mySubAppX,

project/apps/mySubAppX/templates

И чтобы сделать его эффективным, чтобы вы могли добавить этот путь к TEMPLATE_DIRS в настройках, чтобы Django сначала заглянул туда, чтобы найти шаблон.

TEMPLATE_DIRS = (
    'project/apps/mySubAppX/templates',
    #other apps template directories
)
Другие вопросы по тегам