JavaRush /Курсы /Модуль 3: Django /Регистрация приложений в INSTALLED_APPS

Регистрация приложений в INSTALLED_APPS

Модуль 3: Django
6 уровень , 2 лекция
Открыта

Мы уже упоминали INSTALLED_APPS когда создавали наше приложение, теперь поговорим о нём подробнее.

Если вы когда-нибудь составляли списки дел (у кого-то они на бумажке, у кого-то — в голове), то согласитесь, чем больше будет пунктов "не забыть", тем четче ваши планы. В Django такой список тоже есть, и называется он INSTALLED_APPS. Это перечень всех приложений, которые должны быть активны в вашем проекте. Только зарегистрировав приложение в этом списке, вы сможете полностью интегрировать его в проект.

С точки зрения Django, приложение, не добавленное в INSTALLED_APPS, — как человек без пропуска в офис: он вроде и в здании, но не может попасть ни в одну комнату.

Где находится INSTALLED_APPS?

Открываем файл settings.py вашего проекта. Самое время почувствовать себя настоящим системным администратором! Пролистайте немного вниз, и вы найдете блок с переменной INSTALLED_APPS. Примерно вот так:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Это список предустановленных приложений Django. Эти приложения идут "из коробки" и позволяют вашей системе работать полноценно: начиная от управления пользователями (django.contrib.auth) и заканчивая любимой всеми админкой (django.contrib.admin).

Зачем регистрировать приложения в INSTALLED_APPS?

Регистрация приложения в INSTALLED_APPS — это как представление нового сотрудника в коллективе. Django "знакомится" с вашим приложением и начинает отслеживать его модели, миграции, шаблоны и другие файлы. Без регистрации:

  1. Миграции модели работать не будут.
  2. Шаблоны, лежащие в папке templates вашего приложения, не будут найдены.
  3. Статические файлы (CSS, JS, картинки) тоже проигнорируются.
  4. Админ-зона будет вести себя так, будто вашего приложения вообще не существует.

Вы ведь не хотите, чтобы ваше приложение оказалось в статусе, который программисты называют "непонятно работает"? Поэтому регистрируемся!

Регистрация приложения в INSTALLED_APPS

Шаг 1. Открытие settings.py

Для начала убедитесь, что вы находитесь в корневом каталоге проекта. Найдите файл settings.py в папке проекта. Он обычно лежит там же, где файлы urls.py и wsgi.py.

Пример структуры проекта:

my_project/
    manage.py
    my_project/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    blog/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py

Откройте settings.py. Мы будем редактировать список INSTALLED_APPS.

Шаг 2. Найти файл apps.py в вашем приложении

Каждое приложение, созданное командой startapp, включает файл apps.py. Этот файл содержит уникальный класс, который "описывает" ваше приложение. Например, если приложение называется blog, файл apps.py выглядит примерно так:

from django.apps import AppConfig

class BlogConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'blog'

 

Обратите внимание на строку name. Это идентификатор приложения. Запомните его — он нужен нам для регистрации.

Шаг 3. Добавление приложения в INSTALLED_APPS

Теперь, когда вы знаете, как называется ваше приложение, добавьте его в список INSTALLED_APPS в settings.py. Пример:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',  # Добавили наше приложение "Блог"
]

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

Шаг 4. Запускаем сервер для проверки

Чтобы убедиться, что приложение зарегистрировано, запустите локальный сервер:

python manage.py runserver

Если ошибок нет — поздравляю, ваше приложение официально стало частью проекта! Можно начинать магию.

Типичные ошибки при регистрации

  1. Неправильное имя приложения в INSTALLED_APPS

Самая частая ошибка — скопировать имя папки приложения неправильно. Если у вас приложение называется blog, но вы написали Blog (с большой буквы), Django не сможет найти его. Всегда проверяйте, чтобы имя совпадало с полем name в apps.py.

  1. Забыли добавить приложение вовсе

Если вы создали приложение, но забыли внести его в INSTALLED_APPS, то Django будет вести себя, как будто приложение не существует. Миграции, шаблоны и прочие фичи работать не будут.

  1. Дублирование записей

Не добавляйте одно и то же приложение дважды в список INSTALLED_APPS. Это может привести к странным ошибкам.

Важные аспекты регистрации приложений

Не все приложения Django созданы одинаково. Например, если вы используете сторонние библиотеки, такие как Django REST Framework, вы тоже должны зарегистрировать их в INSTALLED_APPS:

INSTALLED_APPS = [
    'rest_framework',
    'blog',
]

В некоторых библиотеках (например, django-allauth) регистрация нескольких приложений обязательна, потому что они состоят из набора модулей.

Практика: Регистрация приложения "Блог"

Давайте закрепим теорию созданием и регистрацией приложения "Блог". Вот пошаговый план:

  1. Создайте приложение:
python manage.py startapp blog
  1. Убедитесь, что файл apps.py содержит правильное имя:
class BlogConfig(AppConfig):
    name = 'blog'
  1. Добавьте приложение в INSTALLED_APPS в settings.py:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]
  1. Запустите сервер:
python manage.py runserver
  1. Проверьте, что сервер работает без ошибок. Если ошибок нет, значит, приложение зарегистрировано успешно.

Полезные ссылки

Теперь ваше приложение официально зарегистрировано. Django готово использовать его модели, миграции, шаблоны и другие компоненты.

1
Задача
Модуль 3: Django, 6 уровень, 2 лекция
Недоступна
Создание и регистрация приложения
Создание и регистрация приложения
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ