Django auth的成功和失败会导致相同的行为

2024-10-04 07:33:43 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一些基本的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。我试着从外壳上验证,结果很好

我还能做些什么来调试呢


Tags: togetreturnifrequestloginrenderpost
1条回答
网友
1楼 · 发布于 2024-10-04 07:33:43

是的,检查request.POST中的内容。凭证是否存在,它们是否与数据库中的内容相对应?阅读Working with forms

相关问题 更多 >