python - Django登录方法不会将用户置于会话中
问题描述
我正在使用 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 - 从 VSCode 中的同一目录导入文件
- vb.net - 在 Vb.net 和 SQL Server 中加密/解密数据
- caching - 服务器缓存?
- python - 用 Python 解析 JSON,数组数组有问题
- python - 如何从目录中的多个 HTML 文件中创建一个 CSV 文件?
- c# - WPF 窗口在加载后不久自动关闭
- javascript - 如何添加到 React 中的嵌套数组?
- xcode - 更新到 iPadOS 后视图小于视图控制器
- python - 在循环中连续创建弹出窗口而不阻塞代码
- java - dockerfile - openjdk-8-jdk 有未满足的依赖关系