1.3. Приложения
Приложение в Django — это отдельный фрагмент функциональности разрабатываемого сайта, более или менее независимый от других таких же фрагментов и входящий в состав проекта. Приложение может реализовывать работу всего сайта, его раздела или же какой-либо внутренней подсистемы сайта, используемой другими приложениями.
Любое приложение представляется обычным пакетом Python, в котором содержатся модули с программным кодом. Этот пакет находится в папке проекта — там же, где располагается пакет конфигурации. Имя пакета приложения станет именем самого приложения.
Создадим приложение с именем firstapp
командой. Для этого остановим отладочный веб-сервер, перейдем в папку проекта и введем следующую команду:
Команда startapp
утилиты manage.py
запускает создание нового приложения с определенным именем. Структура проекта изменится, добавиться директория firstapp
с определенными файлами:
В следующих разделах будем рассматривать подробнее эти файлы. Если кратко, в приложении находятся следующие файлы:
migrations/
— папка вложенного пакета, в котором будут храниться сгенерированные Django миграции. Пока что в папке находится лишь пустой файл__init__.py
, помечающий ее как полноценный пакет Python;__init__.py
— пустой файл, сигнализирующий исполняющей среде Python, что эта папка — пакет;admin.py
— модуль административных настроек и классов-редакторов;apps.py
— модуль с настройками приложения;models.py
— модуль с моделями;tests.py
— модуль с тестирующими процедурами;views.py
— модуль с контроллерами.
Каждый раз при создании приложения, следует его регистрировать в системе Django. Откроем settings.py
и найдем следующий фрагмент кода:
Список, хранящийся в переменной INSTALLED_APPS
, перечисляет все приложения, зарегистрированные в проекте и участвующие в его работе. Изначально в этом списке присутствуют только стандартные приложения, входящие в состав Django и реализующие различные встроенные подсистемы фреймворка. Так, приложение django.contrib.auth
реализует подсистему разграничения доступа, а приложение django.contrib.sessions
— подсистему, обслуживающую серверные сессии.
Зарегистрируем наше приложение в системе Django. Для этого напишем:
Мы указали строку с путем к классу FirstappConfig
, описывающему конфигурацию приложения и объявленному в модуле apps.py
пакета приложения firstapp
.
Сохраним все изменения и напишем свой первый контроллер.
Last updated