Сколько отдельных приложений я должен иметь с моим приложением 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, кажется, вы знаете этот способ
- сначала запустите ваше приложение и сделайте его .
- теперь зайдите в app folde и создайте файл типа
urls.py
.
- теперь в нем вы можете написать ваши урлы и написать ваши урлы в urlpattern, как вы знаете .
- перед завершением убедитесь, что в основной
url.py
вы должны включить другие урлы, которые сделали
urlpatterns = [
path('', include('petowner.urls')),
path('admin/', admin.site.urls),
]
Может быть это хорошо, чтобы изменить ваши имена, если вы слишком вовлечены и написать ваши урлы в этом приложении, таким образом вы можете быть более организованным и дать ваш префикс или что-нибудь просто в вашем app/urls.py