python - 当我登录/注册时,Allauth 重定向到“帐户/登录/无”
问题描述
当我创建帐户或使用现有帐户登录时,Allauth 重定向到“帐户/登录/无”或“帐户/注册/无”,但我已登录并成功创建帐户
意见:
class LoginView(RedirectAuthenticatedUserMixin,
AjaxCapableProcessFormViewMixin,
FormView):
form_class = LoginForm
template_name = "account/login.html"
success_url = "/"
redirect_field_name = "next"
# ....
class SignupView(RedirectAuthenticatedUserMixin, CloseableSignupMixin,
AjaxCapableProcessFormViewMixin, FormView):
template_name = "account/signup.html"
form_class = SignupForm
redirect_field_name = "next"
success_url = "/"
# ....
网址.py
urlpatterns = [
path('account/', include('allauth.urls'), name='account'),
# ....
]
设置.py
LOGIN_REDIRECT_URL = '/'
解决方案
<input type="hidden" name="{{ redirect_field_name }}" value="{{redirect_field_value}}">
检查您是否在自定义登录 html 中提供了此信息,如果有,请将其删除。
例如,您的页面需要登录示例 (localhost/dashboard) 因此,当您访问此 url 时,它将重定向到 (localhost/login/?next=/dashboard/) 其中 'next'({{ redirect_field_name }}) 值为 '仪表板' 。因此,在您登录后,它会转到仪表板页面。但是,如果您转到 (localhost/login/) 下一个值将是“None”,那么无论您是否在设置页面中提供了 LOGIN_REDIRECT_URL,它都会转到“localhost/login/None”,它总是会转到基于隐藏的输入值是“redirect_field_name”。
注意:如果您在每次登录后删除上述隐藏输入,则页面将重定向到 LOGIN_DIRECT_URL 中提到的 url
推荐阅读
- json - 如何使用 ImportJSON 从 BitBNS 中选择 BTC 最新价格?
- kubernetes - 在 Google Kubernetes Engine 中将单区集群转换为区域集群
- sql - 表 Sql-Server 中选定依赖字段的自动增量
- android - 如何在 RecyclerView 中获取项目的位置
- java - java中的局部变量访问
- javascript - 我想以特定方式转换对象数组
- javascript - 我不明白为什么计数器在一个按钮上起作用,而在另一个按钮上不起作用
- c# - 如何使用 Linq 通过嵌套列表的属性对对象列表进行排序?
- reactjs - 如何在静态 html 文件中使用 React ContextAPI
- graphics - 使用深度缓冲区进行光线行进