Метод входа в Django не помещает пользователя в сессию - PullRequest
0 голосов
/ 13 февраля 2019

Я создаю API для новостных историй, используя Django.Мне нужен метод входа, поэтому я создал свой собственный обработчик:

def HandleLogin(request):
    if(request.method == 'POST'):
        un = request.POST.get('username')
        pw = request.POST.get('password')
        # data = 'user name = ' + un + ', password = ' + pw
        user = authenticate(request, username = un, password = pw)
    if user is not None:
        if user.is_active:
            login(request,user )
            if(user.is_authenticated):
                # print('Welcome ' + user.username )
                http_login_succ = HttpResponse("Welcome "+ user.username)
                http_login_succ['Content-type'] = 'text/plain'
                http_login_succ.status_code = 200
                http_login_succ.reason_phrase = 'OK'
            return http_login_succ
        else:
            return HttpResponse ('disabled account')
    else:
        return HttpResponse('invalid login')

После этого я хочу, чтобы только зарегистрированные пользователи могли получить доступ к точке на веб-сайте, где вы публикуете новости:

def PostStory(request):
    if request.user.is_authenticated:
        return HttpResponse("Logged in")
        #Code when logged in
    else:
        return HttpResponse("Not Logged in")

Затем я успешно вхожу в систему, получая сообщение с именем «Welcome», но при доступе к poststory он никогда не распознает вошедшего в систему пользователя.

1 Ответ

0 голосов
/ 13 февраля 2019

проверьте, что ваше промежуточное программное обеспечение активировано и находится в нужном месте

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