Создание первого приложения (app) в Django

Создание первого приложения (app) в Django Django

Привет! В прошлых статьях мы разобрали структуру Django-проекта. Теперь пришло время создать первое приложение — это самостоятельный модуль, который отвечает за конкретную функциональность сайта.

В этой статье мы разберём:

  • Что такое приложение в Django
  • Как создать приложение
  • Структуру приложения
  • Регистрацию приложения в проекте

Что нужно знать перед началом

Для этого урока тебе понадобится:

  • Установленный Django
  • Созданный проект (из прошлых статей)

Совет: Приложение — это модуль, который решает одну задачу: блог, форум, интернет-магазин. Проект состоит из приложений.

Основная часть

Что такое приложение в Django

Приложение (app) — это набор кода, который отвечает за определённую функциональность сайта.

Проект — это целый сайт, а приложения — это его части.

Например:

  • blog — приложение для блога
  • shop — приложение для интернет-магазина
  • users — приложение для пользователей

Совет: Приложения можно переиспользовать в разных проектах, просто скопировав папку.

Команда startapp

Создаём приложение с помощью команды startapp:

python manage.py startapp polls

Эта команда создаст папку polls со стандартной структурой.

Важно: Команда выполняется в корне проекта, где лежит manage.py.

Структура приложения

polls/
    __init__.py          # Делает папку Python-пакетом
    admin.py             # Настройка админ-панели
    apps.py              # Конфигурация приложения
    models.py            # Модели базы данных
    tests.py             # Тесты
    views.py             # Представления (обработчики запросов)
    migrations/          # Папка для миграций
        __init__.py

Назначение файлов:

ФайлНазначение
__init__.pyДелает папку Python-пакетом
admin.pyРегистрация моделей в админ-панели
apps.pyКонфигурация приложения
models.pyОписание структуры данных (таблицы БД)
views.pyЛогика обработки запросов
tests.pyАвтоматические тесты
migrations/Миграции базы данных

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

Чтобы Django знал о приложении, его нужно добавить в INSTALLED_APPS в файле settings.py :

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls.apps.PollsConfig',  # Добавляем наше приложение
]

Совет: Регистрация приложения обязательна. Без этого Django не будет видеть модели и другие компоненты приложения.

Создание первой view

View — это функция или класс, которая обрабатывает запрос и возвращает ответ.

Открой файл views.py в приложении polls и добавь код:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Привет, мир! Это первая страница на Django.")

Создание маршрута (URL)

Чтобы связать view с URL, создай файл urls.py внутри приложения polls :

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

Теперь нужно подключить URL приложения в главный urls.py проекта :

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls')),  # Подключаем URL приложения
]

Запуск и проверка

Запусти сервер:

python manage.py runserver

Открой в браузере: http://127.0.0.1:8000/polls/

Ты увидишь: "Привет, мир! Это первая страница на Django."

Поздравляю! Ты создал своё первое Django-приложение.

Задачи для закрепления

Задача 1. Создай новое приложение с именем blog.

Задача 2. Зарегистрируй приложение в INSTALLED_APPS.

Задача 3. Создай view, которая возвращает «Мой блог».

Задача 4. Создай URL для этой view.

Задача 5. Проверь работу в браузере.

Ответы:

Задача 1.

python manage.py startapp blog

Задача 2.

INSTALLED_APPS = [
    ...,
    'blog.apps.BlogConfig',
]

Задача 3.

# blog/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Мой блог")

Задача 4.

# blog/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

# mysite/urls.py
urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]

Задача 5.

# Запусти сервер и открой http://127.0.0.1:8000/blog/

Нюансы и подводные камни

Важность имени приложения

Имя приложения должно быть уникальным в проекте.

Порядок импортов

Используй правильные импорты в urls.py:

from django.urls import path
from . import views

Автоматическое создание папки migrations

Папка migrations создаётся автоматически при создании приложения. Она нужна для управления изменениями в базе данных.

Частые ошибки и как их избежать

Ошибка 1: Забыл добавить приложение в INSTALLED_APPS

Всегда добавляй новое приложение в INSTALLED_APPS.

Ошибка 2: Неправильный импорт в urls.py

Используй from . import views или from myapp import views.

Ошибка 3: Неправильный путь в include

Проверяй, что путь к файлу urls.py приложения указан правильно.

Шпаргалка

Что нужноКоманда / Код
Создать приложениеpython manage.py startapp polls
Зарегистрировать в INSTALLED_APPS'polls.apps.PollsConfig'
Создать viewdef index(request): return HttpResponse("...")
Создать urls.pypath('', views.index, name='index')
Подключить URLpath('polls/', include('polls.urls'))

Заключение

Сегодня мы:

  • Создали первое Django-приложение
  • Разобрали структуру приложения
  • Зарегистрировали приложение в проекте
  • Создали первую view и URL

КВИЗ

Что дальше?

Оцените статью
IMI-DS - PYTHON LERNEN
Содержание
Оглавление ×