[英]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.