繁体   English   中英

注册后Django登录失败

[英]Django login failing after registration

我有一个简单的注册表格,可在views.py中提供此功能

from django.contrib.auth import authenticate, login
from django.contrib.auth.models import User

def registerNewUser(request):
  newUser = User.objects.create_user(request.POST["username"], request.POST["email"], request.POST["password"])
  newUser.last_name = request.POST["lastName"]
  newUser.first_name = request.POST["firstName"]

  print newUser.last_name

  user = authenticate(username = request.POST["username"], password = request.POST["password"])
  print user 

  if user is not None:
    if user.is_active:
      login(request, user)
      print "Login Successful"
  else:
    return HttpResponse(simplejson.dumps({"login" : "failed"}))

我可以看到新记录已插入AuthUser表中,但是登录失败,并且HttpResponse JSON错误消息返回到客户端。 此外,

print user

没有返回

为什么?

最后的注意事项: auth_user表的last_login字段显示与date_joined字段相同的时间戳。

如果登录成功,则您的视图不会return任何内容给客户端。 django中的视图必须返回HttpResponse对象。

if user is not None:
    if user.is_active:
        login(request, user)
        print "Login Successful"
        # (1) Missing return statement here
    else:
        return HttpResponse(simplejson.dumps({"login" : "failed"}))

# (2) Execution flow falls through to here

但是您提到消息是JSON格式的...您是否提交了所有视图代码?

执行流很有可能只是“落入” if user is not None语句之后的代码-我认为这是您的User is None情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM