Как работает аутентификация в Django

Python Middle Без компании
Как работает аутентификация в Django
Ответы
Django предоставляет встроенную систему аутентификации через `django.contrib.auth`. Основные компоненты: - **User модель** – хранит данные пользователей (логин, пароль, email и др.) - **Authentication backends** – проверяют учетные данные (по умолчанию `ModelBackend`) - **Сессии** – для хранения состояния аутентификации между запросами Пример входа пользователя: ``` from django.contrib.auth import authenticate, login def login_view(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) # Создает сессию return redirect('home') else: return HttpResponse('Invalid credentials') ``` Для защиты представлений используйте декораторы: ``` from django.contrib.auth.decorators import login_required @login_required def protected_view(request): return HttpResponse('Only for auth users') ``` Пароли автоматически хэшируются (по умолчанию PBKDF2). Можно расширять User модель через `AbstractUser` или связь OneToOne.