python - Django内置登录视图不重定向到下一个
Posted
技术标签:
【中文标题】python - Django内置登录视图不重定向到下一个【英文标题】:python - Django built in login view not redirecting to next 【发布时间】:2018-11-05 14:39:46 【问题描述】:我正在使用 django auth 视图进行身份验证,但在成功登录后,它应该尝试将用户重定向到下一个 GET 参数,但它只重定向到 LOGIN_REDIRECT_URL! 这是我的网址
url(r'^login/$', auth_views.login, 'template_name': 'accounts/registered/login.html',, name='login'),
在我的setting.py中
LOGIN_REDIRECT_URL = '/'
当未经身份验证的用户想要访问仪表板时,它会自动重定向到带有下一个参数的登录页面
http://127.0.0.1:8000/accounts/login/?next=/accounts/dashboard/
但登录成功后会重定向到
http://127.0.0.1:8000/
它应该根据下一个参数重定向它。
【问题讨论】:
你可以为你的views.py添加类/函数吗? 先生,您要添加哪个视图,我正在使用 django.contrib.auth 的登录视图导入视图作为 auth_views,这是 django 内置的。 啊,这可能是问题所在。 auth.views 的登录视图已被弃用。尝试导入 LoginView,它是一个 CBV,所以在你的 urls.py 中确保你使用 auth_views.LoginView.as_view() 现在我正在使用这个 url(r'^login/$', auth_views.LoginView.as_view(template_name= 'accounts/registered/login.html',redirect_field_name='next'), name= '登录'), 但它仍然没有重定向到下一个参数 【参考方案1】:您好像忘记在accounts/registered/login.html
模板中添加隐藏字段next
:
<input type="hidden" name="next" value=" next ">
【讨论】:
上面接受的答案对我不起作用,隐藏字段 next
的值为空。要填充我必须使用的值 request.GET.next
以上是关于python - Django内置登录视图不重定向到下一个的主要内容,如果未能解决你的问题,请参考以下文章