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

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

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

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

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

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

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

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

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

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

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

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

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

  • python reportlab - registerFont - django - шрифт недоступен через некоторое время
  • Как разрешить «итератор должен возвращать строки, а не байты»
  • django makemigrations для переименования поля без ввода пользователем
  • Какую реализацию CAS использовать в django?
  • Предоставление Django загружаемых файлов
  • Что на самом деле делает установка INSTALLED_APPS в Django?
  • django-rest-framework, универсальное наследование модели, ModelSerializers и вложенные сериализаторы
  • Статическая структура Django
  • как получить символы юникода в URL-адресе django?
  • OpenCV imread висит при вызове из веб-запроса
  • Дата и время объединения фильтров в джанго
  •  
    Interesting Posts for Van-Lav

    Уступка изнутри с помощью оператора и __exit__ метода контекстного менеджера

    Почему я получаю ложный символ «] в сообщениях syslog с SysLogHandler Python в OS X?

    Планирование скрипта Python для быстрого запуска каждого часа

    Подсчитать количество вхождений данной подстроки в строку

    Как динамически вызывать функции Python

    Различное поведение для списка .__ iadd__ и list .__ add__

    Создание группы в области данных в пандах

    Django: тестирование, если страница перенаправлена ​​на нужный URL-адрес

    Какой самый быстрый способ проверить, находится ли точка внутри многоугольника в python

    Сортировка массива numpy для нескольких столбцов в Python

    Какую форму подключения использовать с пикой

    Как нарисовать пересекающиеся плоскости?

    как использовать Flask Jinja2 url_for с несколькими параметрами

    Общая xlabel / ylabel для подзаголовков matplotlib

    Python TypeError при использовании xml.etree.ElemenTree и запросов

    Python - лучший язык программирования в мире.