JavaRush /Курси /Модуль 3: Django /Перший додаток у Django

Перший додаток у Django

Модуль 3: Django
Рівень 1 , Лекція 8
Відкрита

Додаток у Django — це щось на кшталт "кімнати" в домі вашого проєкту. Це окремий модуль або компонент системи, який відповідає за реалізацію певних функцій. Наприклад, якщо ви створюєте інтернет-магазин, один модуль (додаток) може відповідати за каталог товарів, інший — за обробку замовлень, а третій — за систему автентифікації користувачів.

Ключова ідея Django: "Розділяй і володарюй". Кожен додаток концентрується на своїй задачі. Це робить проєкт масштабованим і легко керованим.

Створення нового додатку

Створення додатку в Django виконується за допомогою команди startapp. Це так просто, що наше завдання спочатку зрозуміти, навіщо нам це потрібно. Припустимо, ми хочемо створити невеликий блог. Для цього створимо додаток, який буде відповідати за публікацію та відображення постів.

Крок 1: Використовуємо вже знайому нам команду startapp

python manage.py startapp blog

Ця команда створить директорію з назвою blog, у якій вже буде базова структура, підготовлена Django.

Після виконання команди структура нового додатку blog буде виглядати наступним чином:

blog/
    __init__.py         # Вказує, що це Python-модуль
    admin.py            # Налаштування для адмін-зони
    apps.py             # Конфігурація додатку
    migrations/         # Папка для файлів міграцій бази даних
        __init__.py
    models.py           # Ваші моделі для бази даних
    tests.py            # Модуль для тестування додатку
    views.py            # Ваші представлення (views)

Кожен із цих файлів вносить свій вклад у роботу додатку. Поки що не будемо заглиблюватися в деталі всіх файлів. Нам важливі базові кроки для запуску додатку.

Реєстрація застосунку в проєкті

Застосунок — це як новий сусід, який щойно переїхав у ваш дім. Якщо ви не повідомите про це "диспетчера" (наш проєкт), він і не знатиме про нового жителя.

Щоб проєкт "побачив" новий застосунок, потрібно зареєструвати його у файлі settings.py. Відкрийте його і знайдіть список 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',
]

Тепер Django знає про ваш застосунок і почне враховувати його в маршрутизації, роботі з базою даних та інших механізмах.

Створення першого представлення (views)

Django — це MTV (Model-Template-View), де логіка обробки запитів реалізується у "представленнях" (views). Представлення — це Python-функція або клас, який обробляє HTTP-запит і повертає HTTP-відповідь.

Давайте створимо просте представлення у файлі views.py застосунку blog:

# blog/views.py

from django.http import HttpResponse

def home(request):
    return HttpResponse("Ласкаво просимо до нашого блогу!")

 

Що тут відбувається? Ми визначаємо функцію home, яка приймає об'єкт HTTP-запиту request і повертає просту HTTP-відповідь з текстом "Ласкаво просимо до нашого блогу!". Це поки що примітивне представлення, але воно працює!

5. Налаштування маршрутів (urls.py)

Тепер потрібно зв'язати наше представлення з URL-адресою, щоб користувач міг побачити його в браузері. Для цього створимо файл urls.py у папці blog:

touch blog/urls.py

І додамо до нього наступний код:

# blog/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),  # Головна сторінка нашого блогу
]

Тут:

  • Ми імпортуємо path з модуля django.urls для визначення маршрутів.
  • Ми зв'язуємо URL '/' з представленням home.

Але це ще не все! Нам потрібно "підключити" маршрути нашої програми до глобальних маршрутів проєкту. Відкрийте файл urls.py проєкту (він знаходиться в корені вашого проєкту) і відредагуйте його:

# myproject/urls.py

from django.contrib import admin
from django.urls import path, include  # Імпортуємо include

urlpatterns = [
    path('admin/', admin.site.urls),  # Маршрути адмін-зони
    path('', include('blog.urls')),  # Підключаємо маршрути нашої програми
]

 

Тепер Django знає, що будь-які запити на '/' (корінь сайту) будуть оброблятися програмою blog.

Запуск і перевірка роботи

Все готово для запуску! Запустіть сервер розробки:

python manage.py runserver

Відкрийте браузер і перейдіть на http://127.0.0.1:8000/. Якщо все зроблено правильно, ви побачите текст "Ласкаво просимо до нашого блогу!".

Типові помилки та їх вирішення

Проблема 1: Шлях не знайдено (404 Not Found)

Перевірте, чи підключили ви файл urls.py програми до глобального файлу маршрутів проєкту. Також переконайтеся, що в INSTALLED_APPS додано вашу програму.

Проблема 2: Помилка модуля ImportError

Переконайтеся, що ви правильно вказали шляхи у всіх імпортах. Django дуже чутливий до правильності шляхів.

Проблема 3: Сервер не запускається

Перевірте, чи активоване віртуальне середовище. Якщо ні, активуйте його та встановіть усі залежності з requirements.txt.

Практичне застосування

Після цієї лекції у вас є мінімально працююча програма. У реальних проєктах створення такого каркасу — це перший крок у розробці функціональних модулів. Наприклад:

  • Ви можете додати функціонал відображення списку постів.
  • Створити окрему сторінку для кожного поста.
  • Додати форму для створення нових постів.

І все це — на основі вже готової програми blog.

Тепер у вас є свій "дім", точніше, ваша "перша кімната". У наступних лекціях ми будемо додавати туди меблі: шаблони, маршрути, моделі та інші круті штуки, які роблять Django таким потужним інструментом.

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