我注意到查看 django-allauth 模板时,有一个 signup_closed.html 用户可以在用户注册关闭或禁用时被重定向到。熟悉该模块的人是否知道是否有可以在 settings.py 中设置的预配置设置以通过现有社交应用程序关闭新用户注册?还是我需要自己配置?我已经阅读了 allauth 的完整文档,但没有看到任何提及。谢谢。
问问题
3228 次
3 回答
13
看起来你需要覆盖is_open_for_signup
你的适配器。
见代码。
于 2013-07-29T12:22:30.717 回答
5
更多信息请访问http://django-allauth.readthedocs.io/en/latest/advanced.html#custom-redirects。
您需要子类allauth.account.adapter.DefaultAccountAdapter
覆盖is_open_for_signup
,然后设置ACCOUNT_ADAPTER
为您的类settings.py
于 2018-03-05T01:58:37.507 回答
4
没有预先配置的设置,但很容易制作(这就是我所做的)。
# settings.py
# Point to custom account adapter.
ACCOUNT_ADAPTER = 'myproject.myapp.adapter.CustomAccountAdapter'
# A custom variable we created to tell the CustomAccountAdapter whether to
# allow signups.
ACCOUNT_ALLOW_SIGNUPS = False
# myapp/adapter.py
from django.conf import settings
from allauth.account.adapter import DefaultAccountAdapter
class CustomAccountAdapter(DefaultAccountAdapter):
def is_open_for_signup(self, request):
"""
Whether to allow sign ups.
"""
allow_signups = super(
CustomAccountAdapter, self).is_open_for_signup(request)
# Override with setting, otherwise default to super.
return getattr(settings, 'ACCOUNT_ALLOW_SIGNUPS', allow_signups)
这是灵活的,特别是如果您有多个环境(例如登台)并希望在登台中允许用户注册,然后再将其投入生产。
于 2020-08-13T17:13:52.993 回答