Настроечные параметры проекта
Давайте откроем файл settings.py и взглянем на конфигурацию проекта. Несколько настроечных параметров уже внесены в указанный файл веб-фреймворком Django,но это лишь часть всех имеющихся параметров.
Все настроечные параметры и их значения, которые используются по умолчанию, можно увидеть на странице https://docs.djangoproject.com/en/5.0/ref/settings/.
Давайте рассмотрим некоторые настроечные параметры проекта:
-
DEBUG: это булев параметр, который включает и выключает режим отладки проекта. Если его значение установлено равнымTrue, то Django будет отображать подробные страницы ошибок в случаях, когда приложение выдает не перехваченное исключение. При переходе в производственную среду следует помнить о том, что необходимо устанавливать его значение равнымFalse. Никогда не развертывайте свой сайт в производственной среде с включенной отладкой, поскольку вы предоставите конфиденциальные данные, связанные с проектом. -
ALLOWED_HOSTS: не применяется при включенном режиме отладки или при выполнении тестов. При перенесении своего сайта в производственную среду и установке параметраDEBUGравнымFalseв этот настроечный параметр следует добавлять свои домен/хост, чтобы разрешить ему раздавать ваш сайт Django. -
INSTALLED_APPS: это параметр, который придется редактировать во всех проектах. Он сообщает Django о приложениях, которые для этого сайта являются активными. По умолчанию Django вставляет следующие ниже приложения:django.contrib.admin: сайт администрирования.
django.contrib.auth: фреймворк аутентификации.
django.contrib.contenttypes: фреймворк типов контента.
django.contrib.sessions: фреймворк сеансов.
django.contrib.messages: фреймворк сообщений.
django.contrib.staticfiles: фреймворк управления статическими файлами.
-
MIDDLEWARE: подлежащие исполнению промежуточные программные компоненты. -
ROOT_URLCONF: указывает модуль Python, в котором определены шаблоны корневых URL-адресов приложения. -
DATABASES: словарь, содержащий настроечные параметры всех баз данных, которые будут использоваться в проекте. Всегда должна существовать база данных, которая будет использоваться по умолчанию. В стандартной конфигурации используется база данных SQLite3, если не указана иная. -
LANGUAGE_CODE: определяет заранее заданный языковой код этого сайта Django. -
USE_TZ: сообщает Django, что нужно активировать/деактивировать поддержку часовых поясов. Django поставляется вместе с поддержкой дат и времен с учетом часовых поясов. Этот настроечный параметр получает значениеTrueпри создании нового проекта с помощью команды управленияstartproject.
Не волнуйтесь, если вы многое не понимаете из того, что здесь видите. Подробнее о различных настроечных параметрах Django можно узнать в последующих разделах.
Проекты и приложения
Давайте повторимся, на протяжении всего курса вы снова и снова будете сталкиваться с терминами «проект» и «приложение».
В Django проектом считается установленный веб-фреймворк Django с несколькими настроечными параметрами.
Приложение - это группа моделей, шаблонов, URL-адресов и представлений. Приложения взаимодействуют с веб-фреймворком с целью обеспечения определенных функциональностей, и их можно использовать в разных проектах.
Проект можно трактовать как свой собственный веб-сайт, содержащий несколько приложений, таких как блог, вики или форум, который другие проекты Django тоже могут использовать.
Создание приложения
Давайте создадим первое приложение Django. Мы разработаем приложение для ведения блога с нуля.
Выполните следующую ниже команду в командной оболочке из корневого каталога проекта:
python manage.py startapp blog
Она создаст базовую структуру приложения, которая будет выглядеть следующим образом:
blog/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
Ниже приведено описание этих файлов:
-
__init__.py: пустой файл, который сообщает Python, что каталогblogнужно трактовать как модуль Python; -
admin.py: здесь вы регистрируете модели, чтобы включать их в состав сайта администрирования – этот сайт используется опционально, по вашему выбору; -
apps.py: содержит главную конфигурацию приложенияblog; -
migrations: этот каталог будет содержать миграции базы данных приложения. Миграции позволяют Django отслеживать изменения модели и соответствующим образом синхронизировать базу данных. Указанный каталог содержит пустой файл__init__.py; -
models.py: содержит относимые к приложению модели данных; все приложения Django должны иметь файлmodels.py, но его можно оставлять пустым; -
tests.py: здесь можно добавлять относимые к приложению тесты; -
views.py: здесь расположена логика приложения; каждое представление получает HTTP-запрос, обрабатывает его и возвращает ответ.
Также не забываем добавить в INSTALLED_APPS в файле settings.py наше установленное приложение:
'blog.apps.BlogConfig'
Когда структура приложения готова, можно приступать к разработке моделей данных блога, о чем мы продолжим в следующем разделе.