我正在使用Django创建用于新闻报道的api。我需要一个登录方法,所以我创建了自己的处理程序:
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”用户名消息,但随后在访问帖子时却永远无法识别登录用户。
答案 0 :(得分:0)
检查您的会话中间件是否已激活并且在正确的位置