2016-09-27 26 views
0

現在我這裏有一個應用程序:使用admin登錄表單,然後重定向回

htttp://localhost/main 

這就需要Django的認證登錄。我想使用管理登錄表格http://localhost/admin/login。問題是,默認情況下,管理員登錄重定向回自己,但我希望它重定向回http://localhost/main。有沒有辦法讓我做到這一點?

這是目前

@login_required(login_url='/admin', redirect_field_name='main' 
def main_view(request): 
    return render(request, 'main_site.html') 

我認爲通過這樣做,它只是重定向我到以下網址:

http://localhost/admin/login/?next=/admin/%3Fmain%3D/main/ 

但我需要它是

http://localhost/admin/login/?next=/main/ 

回答

0

的Django身份驗證應用程序隨附authentication views,其中包括login視圖。最好使用這個登錄視圖,而不是重複使用管理員登錄視圖。

如果你真的想用管理員登錄視圖,你可以嘗試將其更改爲:

@login_required(login_url='/admin/login/') 

更改login_url防止用戶被重定向首次向/admin/再到/admin/login/。我刪除了redirect_field_name='main',因爲我不相信可以在管理員登錄視圖中使用自定義redirect_field_name