使用管理员登录表单然后重定向回页面

时间:2016-09-27 15:43:51

标签: django python-2.7 redirect

现在我在这里有一个应用程序:

htttp://localhost/main

这需要登录django的身份验证。我想使用管理员登录表单http://localhost/admin/login。问题是默认情况下,admin登录重定向回自身,但我希望它重定向回http://localhost/main。有没有办法让我做到这一点?

这是我目前的观点

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

通过这样做,它只是将我重定向到以下URL:

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

但我需要它

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

1 个答案:

答案 0 :(得分:0)

Django auth应用随附authentication views,包括login视图。最好使用此登录视图,而不是重用管理员登录视图。

如果您真的想使用管理员登录视图,可以尝试将其更改为:

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

更改login_url会阻止用户首先重定向到/admin/,然后再转到/admin/login/。我已删除redirect_field_name='main',因为我认为不可能在管理员登录视图中使用自定义redirect_field_name