Ответ
Django — это фреймворк с подходом «батарейки в комплекте» (batteries-included). Его ключевые компоненты:
-
Models (Модели): Слой для работы с данными. Определяют структуру базы данных с помощью Python-классов. Django ORM (Object-Relational Mapper) автоматически преобразует эти классы в таблицы БД.
from django.db import models class Product(models.Model): name = models.CharField(max_length=200) price = models.DecimalField(max_digits=10, decimal_places=2)
-
Views (Представления): Логика обработки запросов. View-функция или класс принимает HTTP-запрос и возвращает HTTP-ответ, например, рендеря HTML-шаблон с данными.
from django.shortcuts import render def product_list(request): products = Product.objects.all() return render(request, 'shop/list.html', {'products': products})
-
Templates (Шаблоны): Слой представления. HTML-файлы со специальным синтаксисом Django Template Language (DTL) для динамической вставки данных.
<ul> {% for product in products %} <li>{{ product.name }} - {{ product.price }}$</li> {% endfor %} </ul>
-
URL dispatcher (Маршрутизатор): Сопоставляет URL-адреса с соответствующими представлениями (views) на основе регулярных выражений или путей.
-
Forms (Формы): Инструмент для создания, валидации и обработки HTML-форм.
-
Admin (Админ-панель): Автоматически генерируемый интерфейс для управления моделями данных, готовый к использованию «из коробки».
Также часто используется Django REST Framework (DRF) — мощная сторонняя библиотека для создания RESTful API.