Django登录方法不会将用户置于会话中

问题描述 投票:0回答:1

我正在使用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")

然后我登录成功获取“欢迎”用户名消息,但是当访问poststory时,它永远不会识别登录用户。

python django login
1个回答
0
投票

检查您的会话中间件是否激活并在正确的位置

© www.soinside.com 2019 - 2024. All rights reserved.