Я узнал Джанго по книге Джанго и документу.В примере книги django проект называется mysite, и внутри этого проекта есть приложение под названием book.Так что в этом случае приложение называется «книга».У меня нет проблем с этим.
Моя путаница возникает перед многоразовыми приложениями.Повторно используемые приложения обычно находятся за пределами проекта.Например, у django-registration есть только независимая папка «регистрация».Так как называется его приложение?«Регистрация», верно?
Если это так, то нет ли несоответствия в именах приложений?В первом случае имя приложения выглядит как имя папки (или имя подпакета) в рамках проекта, тогда как во втором случае имя приложения является именем верхнего пакета.
Я знаю, что большинство из вас скажет«Почему вы одержимы названием приложения? Просто убедитесь, что структура пакета правильная и django может работать без проблем».Да, в большинстве случаев имя приложения - это не что иное, как имя.За исключением одного случая: укажите AUTH_PROFILE_MODULE.Как объясняется в документе,
Чтобы указать, что эта модель является моделью профиля пользователя для данного сайта, заполните параметр AUTH_PROFILE_MODULE строкой, состоящей из следующих элементов, разделенных точкой:
- Имя приложения (с учетом регистра), в котором определена модель профиля пользователя (другими словами, имя, которое было передано в manage.py startapp для создания приложения).
- Имя класса модели (без учета регистра).
Если у меня есть модель в качестве профиля пользователя в пакете с возможностью изменения результатов, я должен знать приложениеимя для правильного указания AUTH_PROFILE_MODULE.
Использует ли django определенный порядок поиска путей для определения имени приложения?