DRF при генерации cook ie sessionid - PullRequest
0 голосов
/ 18 марта 2020

Я создаю / auth / страницу на моем Django сайте Rest Framework. И я не могу сохранить идентификатор сессии.

Я создал этот повар ie или его создание автоматически? Мой вид авторизации:

class AuthView(APIView):
permission_classes = (permissions.AllowAny,)

renderer_classes = [TemplateHTMLRenderer]

@csrf_exempt
def get(self, request):
    return render(request, 'login.html', {})

@csrf_exempt
def post(self, request):

    serializer = AuthFormSerializer(data=request.data)
    serializer.is_valid(raise_exception=True)
    data = serializer.data
    username = data.get('username')
    password = data.get('password')

    if username is None or password is None:
        return Response({'error': 'Please provide both username and password'},
                        status=HTTP_400_BAD_REQUEST, template_name='login.html')
    user = authenticate(username=username, password=password)

    if not user:
        return Response({'error': 'Invalid Credentials'},
                        status=HTTP_404_NOT_FOUND, template_name='login.html')
    self.token, _ = Token.objects.get_or_create(user=user)
    user_token = Token.objects.get(user_id = user.pk)


    if (datetime.now() - user_token.created.replace(tzinfo=None)).days > 10:
        Token.objects.update(user_id=user.pk, key=Token.generate_key(user.pk), created = datetime.now())

    context = {'token': self.token.key}
    # return Response(, status=HTTP_201_CREATED, template_name='')
    return HttpResponse(json.dumps(context), content_type="application/json")

1 Ответ

0 голосов
/ 18 марта 2020

я забыл написать login(request, user), не повторяй моих ошибок xD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...