Встречается на собеседованиях • сегодня

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

Django предоставляет встроенную систему аутентификации через django.contrib.auth. Основные компоненты:

  1. User модель – хранит данные пользователей (логин, пароль, email и др.)
  2. Authentication backends – проверяют учетные данные (по умолчанию ModelBackend)
  3. Сессии – для хранения состояния аутентификации между запросами

Пример входа пользователя:

python
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')

Для защиты представлений используйте декораторы:

python
from django.contrib.auth.decorators import login_required

@login_required
def protected_view(request):
    return HttpResponse('Only for auth users')

Пароли автоматически хэшируются (по умолчанию PBKDF2). Можно расширять User модель через AbstractUser или связь OneToOne.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы