Структура проекта 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

Надеюсь, это было полезно для вас.

Вернуться на верх