Turn off user social registration in django-allauth? Turn off user social registration in django-allauth? django django

Turn off user social registration in django-allauth?


Looks like you need to override is_open_for_signup on your adapter.

See the code.


More information at http://django-allauth.readthedocs.io/en/latest/advanced.html#custom-redirects.

You need to subclass allauth.account.adapter.DefaultAccountAdapter to override is_open_for_signup, and then set ACCOUNT_ADAPTER to your class in settings.py


There is no pre-configured setting but it's easy to make one (this is what I do).

# 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.pyfrom django.conf import settingsfrom allauth.account.adapter import DefaultAccountAdapterclass 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)

This is flexible, especially if you have multiple environments (e.g. staging) and want to allow user registration in staging before setting it live in production.