Подтвердить что ты не робот

Что такое "приложение" в Django?

Согласно документации:

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

Однако, каковы другие примеры того, что делает "приложение"?

4b9b3361

Ответ 1

Что делает приложение (для нас) - это одно:

Приложение является единицей повторного использования

Если мы захотим разделить его на использование в другом месте, это приложение.

Если у него есть многократно используемая модель данных, это приложение. Профили пользователей: приложение. Клиенты: приложение. Статистическая статистика клиентов (это трудно объяснить, не предоставляя слишком много деталей): Приложение. Отчетность: приложение. Актуарный анализ: приложение. API-интерфейс поставщика для сбора данных: приложение.

Если он уникален и никогда не будет использоваться повторно (то есть клиент), это приложение, которое зависит от других приложений. Нагрузки данных зависят от клиента. Каждый из них представляет собой приложение, основанное на существующих парах приложений (Batch Uploads и Statistics History).

Ответ 2

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

Недавний мой пример: клиенту нужен способ импорта CSV-данных в модели Django. Самый простой способ - просто добавить модель с FileField и написать быстрый парсер для конкретного формата того, что они загружают. Это будет нормально работать до тех пор, пока формат не изменится, и я должен был сделать парсерный матч. Но это часто повторяющаяся задача (импорт данных) и не имеющая отношения к существующему приложению (управление этими данными), поэтому я сам ее нарушил. Это подключаемое приложение может импортировать данные для любой активной модели. Теперь, в следующий раз, когда клиенту нужны функции импорта, я просто добавляю этот код к install_apps и запускаю syncdb.

Это решение, когда выходить из приложения самостоятельно, но эмпирическое правило для меня - если я, скорее всего, что-то повторю, я возьму дополнительное время, чтобы сделать это универсальным приложением. Это означает, что я создал несколько крошечных приложений (некоторые просто содержат тег шаблона), но это немного накладные расходы для будущих прибылей.

Ответ 3

Пользовательское управление вполне может быть приложением, если вы не собираетесь использовать Django, встроенную в пользовательскую инфраструктуру.

Он имеет пользовательские интерфейсы и определенные модели для сохраненных данных, и он действительно отделен от приложения Blog или Wiki (хотя информация будет доступна).

Пока оба приложения находятся в одном и том же "проекте", они должны использовать те же настройки для БД. Вы должны быть в состоянии, просто убедившись, что соответствующие модели импортируются там, где вы пытаетесь их использовать.

Подробнее см. эту ссылку.