2016-09-27 42 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