0

とても@login_required便利です。@login_required(login_url='/login/')各ビューの前にこれを使用しました。ユーザーが url にアクセスしようとすると、次のように/uploadurl にリダイレクトされます: http://127.0.0.1:8000/login/?next=/upload_file/My urls are very simple:

urlpatterns = patterns('',

    #url(r'^admin/', include(admin.site.urls)),
    url(r'^upload_file/', 'fileupload.views.upload_file'),
    url(r'^show_file/', 'fileupload.views.show_list'),
    url(r'^sync/', 'fileupload.views.sync'),
    url(r'^login/', 'fileupload.views.login_user'),
    url(r'^upload_file_form', 'fileupload.views.upload_file_form' )
)

ユーザーがログインを押すと、ページはどこにもリダイレクトされません。URL パターンが正しくないと確信しています。私は何が欠けていますか?ありがとう

編集

def login_user(request):
    errors = []
    state = "LOG IN"
    username = password = ''
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username='username', password='password')
        if user is not None:
            if user.is_active:
                login(request, user)
                state = "You're successfully logged in!"
            else:
                state = "Your account is not active, please contact the site admin."
        else:
            state = "Your username and/or password were incorrect."

    return render_to_response('login.html', {'state':state, 'username': username}, context_instance=RequestContext(request))
4

1 に答える 1

2

ビューは、クエリ文字列パラメーター自体fileupload.views.login_userを尊重する必要があります。nextこれは Django のログイン ビューに組み込まれていますが、自分で作成したので、その機能を自分で実装する必要があります。

于 2012-12-26T10:24:14.190 に答える