Структура проекта Django: должны ли мои шаблоны регистрации, входа в систему находиться в приложении учетных записей или в шаблонах проекта
Вот структура проекта, которую я имею на данный момент:
project/
manage.py
forum_app/
ecommerce_app/. # tbd
accounts/
project/
settings.py
urls.py
templates/
base.html
home.html
registration/
login.html
signup.html
profile.html
change_password.html
...
Должен ли я вместо этого иметь что-то вроде этого:
project/
manage.py
forum_app/
ecommerce_app/ # tbd
accounts/
templates/
accounts/
login.html
signup.html
profile.html
change_password.html
project/
settings.py
urls.py
templates/
base.html
home.html
Моя путаница связана с идеей, что, поскольку аутентификация - это особый набор задач, она должна быть отдельным приложением, поэтому соответствующие шаблоны должны находиться в приложении учетных записей.
Однако шаблоны login, signup и т. д. предназначены для сайта в целом, поэтому, возможно, их следует поместить в корневую папку templates, как в первом примере.
Я был бы признателен за советы о том, как лучше всего это сделать?
Кроме того, если я создам модель Profile
для пользователей форума (иконка профиля, биография), отображающуюся на auth User
, она должна находиться в accounts/models.py
или forum_app/models.py
?
В Django вы можете размещать шаблоны либо внутри приложений, либо в корневом каталоге, это зависит от вашего проекта. Если вы размещаете шаблоны внутри приложений, вы можете повторно использовать это приложение в других проектах, и это будет проще для больших проектов.
Если вы размещаете шаблоны в корневом каталоге, не забудьте указать путь к шаблонам в settings.py
Надеюсь, это было полезно для вас.