0

view.py

def loginajax(request):
    form = LoginForm(request.POST)
    #redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '')
    if request.POST:
            #errors = manipulator.get_validation_errors(request.POST)
        if form.is_valid():   
            if request.is_ajax: 
                user = authenticate(username = request.POST['username'],password = request.POST['password'])
                if user is not None:
                    redirect_to = '/home/%s/'%user
                else:
                    redirect_to = '/accounts/activate/'
                return HttpResponse(redirect_to)
            else:
                return HttpResponse("False")
        else:
           return HttpResponse(form.errors)

script.js

$('#loginform').submit(function(e){
    $.ajax({
        type:"POST",
        url:"/accounts/login/ajax/",
        data:$('#loginform').serialize(),
        success: function(msg){
            window.location = msg;
        }
    });
    e.preventDefault();             
});

疑い

リダイレクト文字列がいつ返されるのか理解できません。ユーザーが認証されていないと表示され、登録ページにリダイレクトされます。助けてください

4

1 に答える 1

1

忘れました (django.contrib.auth インポート認証、ログインから)

login( request, user )

redirect_to = '/home/%s/'%user

authenticate(...) は、ユーザー名とパスワードが正しいことをテストするだけです。

于 2012-08-10T20:15:53.127 に答える