Django 5 для начинающих

Прогресс по курсу:  9/1004

5.1 Создание проекта и приложения
2 из 2 шагов пройдено

Настроечные параметры проекта

Давайте откроем файл 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'

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


  • Комментария
Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий

может чего упустил, подскажите пожалуйста почему нельзя в в INSTALLED_APPS в файле settings.py просто добавить 'blog', зачем именно 'blog.apps.BlogConfig'

@Николай_Николаевич, можно и так сделать в данном случае.
blog.apps.BlogConfig - такое обычно используется когда требуется указать конкретную конфигурацию приложения.

У меня что-то пошло не так в данном уроке. Выдает данную ошибку, чтобы ни делал [Errno 2] No such file or directory. Пытался приложение создать, такая же ошибка выходит. В чем дело? 

@Yernur_Satybaldiyev, Выполните сначало команду cd ..

А я выполнил данную команду и никакой реакции не было.

@Yernur_Satybaldiyev, у вас в терминале должно было пропасть mysite перед символом %