下面是一些基本的Django auth教程。我的观点如下:
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
当我用authenticate逻辑替换它时,它似乎没有返回有效的用户对象,因为我被重定向回login。我试着从外壳上验证,结果很好
我还能做些什么来调试呢
是的,检查request.POST中的内容。凭证是否存在,它们是否与数据库中的内容相对应?阅读Working with forms
相关问题 更多 >
编程相关推荐