Расскажи про основную сущность Django
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Основная сущность 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 занимает центральное место в архитектуре.