Почему не имеет смысла хранить шаблоны 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
)