Что должно означать «приложение» Django? - PullRequest
45 голосов
/ 10 июня 2011

Я новичок в Django и пытаюсь понять предпочтительные способы работы при развертывании веб-приложений.

Допустим, я делаю веб-приложение с (например) управлением входом пользователя, некоторыми функциями загрузки, манипулированием загруженными файлами и рендерингом загруженных файлов на экране. Они все являются частью одного и того же «веб-приложения».

Будет ли каждая из этих функций отдельным приложением в проекте или все они будут вместе в одном приложении? Предназначено ли приложение Django для веб-приложения или оно соответствует единственному набору функций, взаимодействующих с несколькими таблицами в базе данных?

Ответы [ 2 ]

31 голосов
/ 10 июня 2011

Необходимо проводить различие между повторно используемыми приложениями и одноразовыми приложениями. Для приложений многократного использования важно, чтобы они предлагали четко определенные функциональные возможности и предназначались для решения четко определенной проблемы. Если бы это было не так, их нельзя было бы многократно использовать.

Однако, вероятно, у вас также есть несколько приложений, которые нельзя использовать повторно, то есть одно или несколько приложений в проекте, которые реализуют логику приложения, специфичную для проекта. В моих проектах у меня всегда есть одноразовое приложение под названием core, которое действует как клей и связывает все вместе. Если у меня есть отдельные разделы на моем сайте, я могу выбрать больше приложений, которые нельзя использовать повторно, потому что мне нравится, как это по существу именует мой проект (например, модели, представления, шаблоны и т. Д.)

21 голосов
/ 10 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...