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 готовий використовувати його моделі, міграції, шаблони та інші компоненти.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ