В чем разница между проектом и приложением в мире Django?

Я создаю свой первый реальный сайт, используя Django, но я все еще пытаюсь понять разницу между проектом и приложением.

Например, «Мой сайт» – это веб-сайт спортивных новостей, в котором будут представлены разделы, такие как статьи, рейтинговые таблицы и «светильники и результаты», мой вопрос в том, должен ли каждый из этих разделов находиться в отдельном приложении внутри целого проекта или нет? Какова наилучшая практика в этой ситуации?

2 Solutions collect form web for “В чем разница между проектом и приложением в мире Django?”

Проект относится ко всему приложению и всем его частям.

Приложение относится к подмодулю приложения. Это, надеюсь, самодостаточно и не переплетается с другими приложениями в проекте, так что теоретически вы можете забрать его и перебросить в другой проект без особых изменений или каких-либо изменений. Обычно приложение имеет свои собственные models.py (который может быть пустым). Вы можете посмотреть на него как на модуль python.

Таким образом, для вашего примера проект является веб-сайтом, и вы можете его структурировать, чтобы было приложение для статей, а также приложение для ранжирования таблиц и приложение для светильников и результатов, а также приложение для …

Я думаю, главное иметь в виду уровень взаимозависимости приложений . Нет смысла переходить за борт, поскольку это все один проект , но чем больше переплетенных двух приложений – так, что было бы много работы по повторному использованию этого приложения в другом проекте, – то, скорее, приложения были бы лучше объединены или закрыты ,

В идеале ваш проект должен быть составлен приложениями . Вот почему при использовании командной строки вы создаете проект, а затем добавляете приложения в этот проект.

Приложения, призванные привносить модульность в ваш проект. Например, если вы создаете articles app для articles app , в идеале , вы можете использовать его в своем проекте спортивных новостей и повторно использовать его в новом проекте, который требует его с минимальной или никакой модификацией его settings – скажем, проект блога, для пример.

Приложения – это часть программного обеспечения, предназначенная для повторного использования. Ваш проект соответствует только вашим конкретным потребностям.

Взгляните на структуру проекта Django . Это может дать вам некоторое представление о наилучшей практике организации вашего проекта Django.

Есть также несколько сообщений в блоге, которые можно найти в Google, которые ссылаются на эту тему:

  • Используемое соединение Gunicorn: ('0.0.0.0', 5000)
  • Использование django для инструмента CLI
  • Django гуманизировать вне шаблона?
  • Служить динамически сгенерированное изображение с Django
  • Как разбирать шаблоны Django для тегов шаблонов
  • Обратный запрос Django по последнему созданному объекту
  • Получение объекта неистребимой ошибки в форме django
  • Как написать тесты для форм в Django?
  • Python - лучший язык программирования в мире.