← Назад к вопросам

Расскажи про основную сущность Django

1.0 Junior🔥 211 комментариев
#REST API и HTTP#Архитектура и паттерны#Базы данных (SQL)

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основная сущность Django

Основной сущностью Django является Django ORM (Object-Relational Mapping) и Model — это классы, которые представляют таблицы базы данных. Django сам по себе — это полноценный веб-фреймворк, но его сердце — это система моделей и ORM.

Модель (Model)

Модель — это класс Python, который описывает структуру таблицы в БД:

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    age = models.IntegerField()
    created_at = models.DateTimeField(auto_now_add=True)
    is_active = models.BooleanField(default=True)
    
    class Meta:
        db_table = 'users'
        ordering = ['-created_at']
    
    def __str__(self):
        return self.name

Основные компоненты Django

1. ORM (Object-Relational Mapping)

Позволяет работать с БД через Python код без SQL:

# Создание записи
user = User.objects.create(name="Иван", email="ivan@example.com", age=25)

# Чтение
user = User.objects.get(id=1)
users = User.objects.filter(age__gte=18)

# Обновление
user.age = 26
user.save()

# Удаление
user.delete()

2. Admin Panel

Django автоматически генерирует админку:

from django.contrib import admin
from .models import User

@admin.register(User)
class UserAdmin(admin.ModelAdmin):
    list_display = ('name', 'email', 'age')
    list_filter = ('is_active', 'created_at')
    search_fields = ('name', 'email')

3. Views и URLs

Обработчики HTTP запросов:

# views.py
from django.shortcuts import render
from .models import User

def user_list(request):
    users = User.objects.all()
    return render(request, 'users/list.html', {'users': users})

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

urlpatterns = [
    path('users/', views.user_list, name='user_list'),
]

4. Миграции

Управление схемой БД:

python manage.py makemigrations  # Создание миграции
python manage.py migrate         # Применение миграции

Архитектура Django (MTV)

Django использует паттерн MTV (Model-Template-View):

  • Model — логика данных (ORM)
  • Template — HTML представление
  • View — обработка запросов

Ключевые преимущества

  • Быстрая разработка — встроено всё необходимое
  • Безопасность — защита от SQL injection, CSRF, XSS
  • Масштабируемость — используется крупными проектами (Instagram, Spotify)
  • Документация — одна из лучших в экосистеме
  • Сообщество — большое и активное

Заключение

Основная сущность Django — это Model, которая определяет структуру данных и предоставляет мощный ORM для работы с БД. Django — это не просто ORM, а полный фреймворк для создания веб-приложений, где Model занимает центральное место в архитектуре.

Расскажи про основную сущность Django | PrepBro