В чем разница между модулем верхнего уровня и подмодулем в Django при использовании - "python manage.py startapp polls".

Я следовал учебнику по опросам для Django и сегодня начинаю свой собственный хобби-проект. При создании приложения меня очень смутило следующее -

Ваши приложения могут находиться в любом месте вашего пути к Python. В этом руководстве мы создадим наше приложение poll в том же каталоге, что и ваш файл manage.py, чтобы его можно было импортировать как собственный модуль верхнего уровня, а не как подмодуль mysite.

Итак, мой вопрос - в чем разница между модулем верхнего уровня и подмодулем для моего проекта?

И как мне решить, какой из них выбрать?

Любая помощь будет высоко оценена, так как я нооб кодер, работающий над своим первым проектом хобби lol.

Нет никакой реальной разницы, кроме вопросов вкуса, организации и именования.

Как бы то ни было, с моими 10+ годами работы с Django, я все еще предпочитаю, чтобы пакеты приложений были параллельны пакету проекта (т.е. то, что предлагает этот отрывок).

(Иногда также удобно сделать пакет проекта приложением, для некоторых очень важных моделей, таких как пользовательские пользователи и т.д.)

Есть случаи, когда действительно имеет смысл иметь пакеты взаимосвязанных приложений, но это, как правило, для многократно используемых приложений, таких как allauth и т.д.

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