Должен ли я разделить большой проект Django на множество приложений?
Укороченная версия:
У меня есть проект Django, находящийся в стадии разработки и тестирования (еще не запущенный в производство), который постепенно становится "не таким уж маленьким", и в последнее время я задумывался о том, чтобы разделить вещи, чтобы они были управляемыми.
Макет проекта:
Проект включает в себя различные многократно используемые приложения, не разработанные мной, такие как аватар, django_evolution, компрессор и более крупное монолитное, я бы сказал, приложение, разработанное мной, которое содержит основные функциональные возможности сайта. Файл views достигает 1 тыс. Строк, и существует 12 моделей, но функциональные возможности почти все на месте (т.е. я не ожидаю, что они вырастут в 10 раз).
Сомнение:
Разграничение моделей и представлений на три "группы" может привести к разделению на три приложения, но:
- не было бы возможности повторного использования, так как приложения очень тесно связаны друг с другом
- Существует проблема некоторых "общих областей", таких как домашняя страница, хотя я читал, что они могут быть размещены вне любого проекта.
Напоследок мой вопрос:
Могу ли я получить какое-либо преимущество, разделив свое приложение?
Если бы это было только для удобства чтения и поддержки "больших" файлов, я мог бы просто разбить эти файлы и поместить их в папку (как предлагают ответы на многие связанные вопросы).
1 ответ
Вам не нужно разбивать ваше приложение на несколько приложений, если это не имеет смысла. Но вы можете сгруппировать ваши функции просмотра в разные файлы. Это было бы первым шагом. Нет необходимости класть их всех в одно место.