现在我在这里有一个应用程序:
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/
答案 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
。