Назовите ключевые компоненты фреймворка Django и их назначение

Ответ

Django — это фреймворк с подходом «батарейки в комплекте» (batteries-included). Его ключевые компоненты:

  1. 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)
  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})
  3. Templates (Шаблоны): Слой представления. HTML-файлы со специальным синтаксисом Django Template Language (DTL) для динамической вставки данных.

    <ul>
    {% for product in products %}
        <li>{{ product.name }} - {{ product.price }}$</li>
    {% endfor %}
    </ul>
  4. URL dispatcher (Маршрутизатор): Сопоставляет URL-адреса с соответствующими представлениями (views) на основе регулярных выражений или путей.

  5. Forms (Формы): Инструмент для создания, валидации и обработки HTML-форм.

  6. Admin (Админ-панель): Автоматически генерируемый интерфейс для управления моделями данных, готовый к использованию «из коробки».

Также часто используется Django REST Framework (DRF) — мощная сторонняя библиотека для создания RESTful API.