django-allauth - 使用 django-allauth 注册后阻止用户登录
问题描述
我正在为我的 django 应用程序使用 django-allauth。默认情况下,当用户成功注册时,他们会自动登录。如何覆盖默认行为并阻止用户在成功注册后登录。用户注册后,必须将他/她重定向到登录页面。我禁用了电子邮件验证。谢谢你。
# settings.py
LOGIN_REDIRECT_URL = 'welcome'
ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = False
ACCOUNT_LOGOUT_REDIRECT_URL = 'thanks'
ACCOUNT_EMAIL_REQUIRED = False
ACCOUNT_EMAIL_VERIFICATION = 'none'
解决方案
如果您不需要电子邮件验证,您可以像这样跳过登录:
首先在您的urls.py中,您必须使用指向您自己视图的 url 覆盖默认 SignupView 的 url:
url(r^'accounts/signup/$', views.CustomSignupView.as_view(), name="account_signup")
然后在您的views.py中,您有一个自定义视图,它将返回到您的首页的路径,而不是继续登录用户。
class CustomSignupView(SignupView):
def form_valid(self, form):
self.user = form.save(self.request)
return redirect('/frontpage')
推荐阅读
- javascript - 在 vue 中使用 axios 的 Cors 和预检错误
- typescript - 解决Typescript中两个@types冲突的最佳方法?
- sql - SQL Server:检查以前记录的日期
- python-3.x - WAFInvalidParameterException
- python - Nixos:我如何获得一个包含调试信息的 python?
- c - 程序在 realloc 崩溃
- visual-studio-code - 忽略或绕过错误 phpcs
- laravel-5 - 在 laravel 队列中使用多个连接
- c - 如何检查 struct timer_list 是否过期?
- cookies - 神秘的 Cookie 有效期`1969-12-31T23:59:59.000Z`