Если файл app/views.py становится очень большим, следует ли его отделить? Если да, то каков наилучший способ сделать это?
Разделение представлений Django App
Ответ 1
Нет общего универсального способа. Но есть правильный путь для вашей ситуации.
- поместите представления в свои собственные файлы и импортировать их в ваше представление. Это хорошо, чтобы увидеть, как это работает.
- создать отдельное приложение внутри проекта для поддержки набора представлений
- создайте собственные общие представления, которые разделяют взгляды, общие для большинства ваших приложений.
Как пример: Я рекомендую вам начать с модели и работать самостоятельно:
- Как у вас много моделей?
- На самом ли деле все связаны или могут быть сгруппированы?
- если сгруппировано, разделите приложение на два приложения
- чтобы вы также разделили представления
- определить, какие функции просмотра схожи и сделать их generic.
Ответ 2
Ответ 3
Я бы выделил представления с аналогичной целью или функциональностью в один файл и включил это в views.py. Я делаю это только для удобства чтения и обслуживания. Например, CRUD-представления для определенного объекта или группы объектов.
Импортируя эти представления непосредственно в основной файл views.py, он позволяет людям, не знакомым с вашим соглашением, найти, где.
views/object_view.py
Ответ 4
В идеальном мире вам не обязательно это делать. Вместо этого попробуйте реорганизовать свой код в разные приложения для django для каждой подцели, которые необходимы вашему проекту. Таким образом, вы можете разделить свой проект еще лучше, чем вы могли бы, если бы вы разделили только файл views.py.
Для получения советов о том, как разделить проект на разные приложения, я рекомендую прочитать практические Django Projects Джеймса Беннетта, и это то, что я перечитываю прямо сейчас:)