#django
#django
Вопрос:
Я новичок в Django и пытаюсь понять предпочтительные средства работы при развертывании веб-приложений.
Допустим, я создаю веб-приложение с (например) управлением входом пользователя в систему, некоторыми функциями загрузки, манипулированием загруженными файлами и отображением загруженных файлов на экране. Все они являются частью одного и того же «веб-приложения».
Будет ли каждая из этих функций отдельным приложением в проекте, или все они должны быть вместе единым приложением? Предназначено ли приложение Django для соответствия веб-приложению или оно соответствует одному набору функций, взаимодействующих с несколькими таблицами в базе данных?
Комментарии:
Ответ №1:
Следует проводить различие между приложениями многократного использования и приложениями, не подлежащими повторному использованию. Для приложений многократного использования важно, чтобы они предлагали четко определенную функциональность и предназначались для решения четко определенной проблемы. Если бы это было не так, они не были бы пригодны для повторного использования.
Однако у вас, вероятно, также есть некоторые приложения, не подлежащие повторному использованию, т. Е. одно или несколько приложений в проекте, которые реализуют логику приложения, специфичную для проекта. В моих проектах у меня всегда есть приложение, не подлежащее повторному использованию, под названием core
, которое действует как клей и связывает все воедино. Если у меня есть отдельные разделы на моем сайте, я могу выбрать больше приложений, не подлежащих повторному использованию, потому что мне нравится, как это по существу расширяет пространство имен моего проекта (например, модели, представления, шаблоны и т.д.)
Ответ №2:
Приложение Django — это группа связанных функциональных возможностей, используемых для завершения или поддержки одного аспекта сайта. Веб-приложение, которое вы описываете, будет разделено как минимум на 2 приложения Django, в зависимости от того, насколько детализированной вы хотите сделать обработку загруженных файлов.