allauth の allauth.socialaccount.forms.SignupForm を上書きし、サインアップ プロセス中にドメインをチェックする行で何かを行うことができます。Discalmer: これはすべてテストなしで書かれていますが、その行の何かが機能するはずです。
# settings.py
# not necesarry, but it would be a smart way to go instead of hardcoding it
ALLOWED_DOMAIN = 'example.com'
.
# forms.py
from django.conf import settings
from allauth.socialaccount.forms import SignupForm
class MySignupForm(SignupForm):
def clean_email(self):
data = self.cleaned_data['email']
if data.split('@')[1].lower() == settings.ALLOWED_DOMAIN:
raise forms.ValidationError(_(u'domena!'))
return data
あなたのURLでallauthのデフォルトを上書きします(これをdjango-allauthのインクルードの前に置きます)
# urls.py
from allauth.socialaccount.views import SignupView
from .forms import MySignupForm
urlpatterns = patterns('',
# ...
url(r"^social/signup/$", SignupView.as_view(form_class=MySignupForm), name="account_signup"),
# ...
)
「^social/signup/$」についてはよくわかりません。もう一度確認してください。