У меня есть приложение django, для которого я пишу стороннее приложение, которое помещается в каталог виртуальных пакетов lib / python2.7 / site-packages / appname. В нем также есть файлы шаблонов, но само приложение django не находит их по умолчанию.
Как лучше всего написать стороннее приложение таким образом, чтобы приложение django находило каталог шаблонов (самым простым способом)?
Стороннее приложение имеет следующую структуру:
appdir/
views.py
forms.py
templates/
. Приложение django имеет следующие связанные настройки:
TEMPLATES['APP_DIRS'] = True
INSTALLED_APPS has the 3rd party app
.
Конечно, это простой обходной путь - добавить местоположение стороннего приложения в ШАБЛОНЫ ['КАТАЛОГИ'], но я скорее заинтересован в лучшей технике.
Джанго: 1.11.16 Python: 2.7.9
.
🤔 А знаете ли вы, что...
Django имеет мощную систему миграций, которая автоматически обновляет схему базы данных при изменении моделей.
Вы должны создать одну папку с тем же именем, что и ваше приложение, внутри папки шаблонов и поместить в нее все шаблоны. В приведенном выше случае папка должна называться appdir
. Если вы установите APP_DIRS
на True
, это правильный путь.
Например, если имя вашего приложения - test
, то в корневом проекте создайте папку test
, а затем создайте в ней папку templates
. Затем отмените любой файл, который вы хотите переопределить.
например, если вы хотите переопределить index.html
приложения test
, тогда:
BASE_DIR (project root)
- test
- templates
- index.html