Сколько отдельных приложений я должен иметь с моим приложением Django

Сколько приложений должно быть в моем проекте Django. Например, я создаю приложение для домашних животных, где могут быть хозяева, питомцы, ветеринары и т.д.

На данный момент, придерживаясь только 3 упомянутых мною функций, должен ли я иметь их как отдельные приложения в моем Django проекте или я должен просто создать одно приложение для работы со всем. Со временем я буду добавлять больше возможностей.

У меня была идея создать проект

django-admin startproject mypets

Затем создайте приложение для каждого:

python manage.py startapp pet

и

python manage.py startapp pet_owner

и

python manage.py startapp veterianarian

Как я уже говорил, есть и другие функции, которые я буду добавлять в свое приложение, например, фотографии, функции типа todo и т.д. Меня беспокоит то, что мой проект станет большим, поэтому я хочу разделить pet_owner и pet на отдельные приложения. Я думал, что это именно то, что я должен сделать, но потом понял, что когда я перешел к файлу mypets.urls.py и думал о перенаправлении некоторых запросов на путь, я быстро понял, что я хочу, чтобы мой маршрут всегда имел mypets/.

urlpatterns = [
    path('admin/', admin.site.urls),
    path('mypets/petowner/', include('petowner.urls')),
    path('mypets/pet/', include('pet.urls')),
]

но они кажутся отдельными, чего я не хочу. Например. Мне важно иметь mypets/petowner/<petowner-id>/pets/ и т.д. Они будут очень тесно связаны друг с другом, и я буду использовать отношения в своих моделях. Разделение, которое я хочу, нужно в основном для организации и удобства чтения. Я не хочу иметь файл models.py с огромным количеством кода - я думаю, что это уродливо и грязно.

В будущем я планирую использовать React для своего фронтенда, но поскольку я пытаюсь хорошо изучить Django, я собираюсь придерживаться полного Django-приложения и использовать Django-шаблоны. Не уверен, что это имеет значение, но решил упомянуть на всякий случай.

Это хорошая идея и делает проект более организованным специально для вас Если вы хотите развивать свой код в будущем, это работает и хорошо для вас Если у вас есть проблемы с урлами, теперь у меня есть предложение, вы можете сделать файл типа url.py в вашем приложении, который содержит ваши урлы приложений, а затем вы можете вернуться к вашему основному url и передать его в urls, кажется, вы знаете этот способ

  1. сначала запустите ваше приложение и сделайте его
  2. .
  3. теперь зайдите в app folde и создайте файл типа urls.py
  4. .
  5. теперь в нем вы можете написать ваши урлы и написать ваши урлы в urlpattern, как вы знаете
  6. .
  7. перед завершением убедитесь, что в основной url.py вы должны включить другие урлы, которые сделали
    urlpatterns = [
       path('', include('petowner.urls')),
       path('admin/', admin.site.urls),
    ]

Может быть это хорошо, чтобы изменить ваши имена, если вы слишком вовлечены и написать ваши урлы в этом приложении, таким образом вы можете быть более организованным и дать ваш префикс или что-нибудь просто в вашем app/urls.py

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