Работал ли с авторизацией на Django
Python
Junior
Без компании
Работал ли с авторизацией на Django
Ответы
Да, работал. В Django есть встроенная система аутентификации `django.contrib.auth`. Она включает модели `User`, группы, разрешения, формы для входа/регистрации и middleware для проверки авторизации.
Основные моменты:
- Использование декораторов:
```
from django.contrib.auth.decorators import login_required
@login_required
def protected_view(request):
return HttpResponse("Только для авторизованных")
```
- Регистрация пользователей:
```
from django.contrib.auth.forms import UserCreationForm
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('login')
else:
form = UserCreationForm()
return render(request, 'register.html', {'form': form})
```
- Кастомная модель пользователя:
```
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
phone = models.CharField(max_length=20)
```
Также работал с JWT-аутентификацией через `djangorestframework-simplejwt` для REST API.