📝 Django

Проект vs Приложение в Django

P
Автор
PyLand Team
📅
Опубликовано
30.06.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
261
🌱
Уровень
Начальный

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

Разница

Проект — вся конфигурация сайта: settings.py, главный urls.py, wsgi.py.

Приложение — модульная часть с определённой функциональностью: models, views, urls, templates.

mysite/              ← ПРОЕКТ
├── manage.py
├── mysite/
│   ├── settings.py
│   └── urls.py
├── blog/            ← ПРИЛОЖЕНИЕ
│   ├── models.py
│   └── views.py
└── shop/            ← ПРИЛОЖЕНИЕ
    ├── models.py
    └── views.py

Один проект — много приложений. Приложение можно переиспользовать в другом проекте.

Создание приложения

python manage.py startapp tasks

INSTALLED_APPS — регистрация

Каждое приложение должно быть в INSTALLED_APPS, иначе Django его не видит:

# settings.py
INSTALLED_APPS = [
    # Встроенные приложения Django
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # Сторонние
    'rest_framework',
    'crispy_forms',

    # Твои приложения
    'tasks',
    'blog',
    'shop',
]

AppConfig — конфигурация приложения

# tasks/apps.py
from django.apps import AppConfig

class TasksConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'tasks'
    verbose_name = 'Задачи'

Можно явно указать в INSTALLED_APPS:

INSTALLED_APPS = [
    'tasks.apps.TasksConfig',  # вместо просто 'tasks'
]

Когда выносить в отдельное приложение

  • Пользователи и аутентификация → accounts
  • Блог со статьями → blog
  • Корзина и заказы → shop
  • API → api

Правило: если функциональность можно описать одним существительным — это кандидат на отдельное приложение.

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

Поиск в Django

Поиск в Django можно начать с простых ORM-фильтров, а для ранжирования и полнотекстового поиска использовать...

📅 30.06.2026 👁️ 279
📝

Swagger документация с drf-spectacular

drf-spectacular генерирует OpenAPI 3.0 схему и Swagger UI для DRF.

📅 30.06.2026 👁️ 561
📝

settings.py: настройки Django

settings.py — центральный конфигурационный файл Django-проекта.

📅 30.06.2026 👁️ 315
🎓 Продолжить обучение

В каких курсах используется этот материал

Перейдите к курсу, чтобы закрепить материал на практике.

Django RequestLab: от HTTP до безопасного продакшена Открыть программу курса