我正在关注一些基本的 Django 身份验证教程。我的views.py中有以下内容:
def login(request, onsuccess='/', onfail='/login/'):
c = {}
c.update(csrf(request))
if request.method == "GET":
return render_to_response('login.html', {'method': 'get'}, context_instance=RequestContext(request))
else:
user = authenticate(username=request.POST.get('username'), password=request.POST.get('password'))
if user is not None:
login(request, user)
return redirect(onsuccess)
else:
return redirect(onfail)
我知道 GET/POST 逻辑正在工作,因为我在 post 之后有另一个 return_to_render 语句,将 'method': 'post' 发送到视图,以尝试调试。我只是在视图中打印该值,因此我可以根据状态查看 GET 或 POST。
当我用身份验证逻辑替换它时,它似乎没有返回有效的用户对象,因为我被重定向回登录。我尝试从 shell 进行身份验证,它工作正常。
关于我还能做些什么来调试的任何想法?