Django - CSRF Failed: CSRF cookie не установлен
Я хочу создать API, который имеет логин / выход / регистрацию / редактирование и т.д., но когда я пытаюсь это сделать в Postman, я получаю ошибку: CSRF Failed: CSRF cookie not set
Я заметил, что если пользователь не вошел в систему, API работает нормально, но после входа я получаю ошибку CSRF при использовании любого url из него ( /logout/, /login/ и т.д.)
views.py
`@csrf_exempt
@api_view(['POST'])
def login_user(request):
if request.user.is_authenticated:
return JsonResponse({"detail": "User is logged in!"})
body_unicode = request.body.decode('utf-8')
body = json.loads(body_unicode)
nickname = body['nickname']
password = body['password']
user = authenticate(nickname=nickname, password=password)
if user is not None:
login(request, user)
logout(request)
return JsonResponse({"response": "Login success!"})
else:
return JsonResponse({"error": "Nickname or Password are incorrect!"})`
settings.py
`MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]`
Я видел, что я должен получить CSRF-токен в разделе cookies в Postman, но единственное, что я получаю, это sessionId