Я создаю 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 он никогда не распознает вошедшего в систему пользователя.