2013-10-30 30 views
16

django-registrationがdjango 1.5とカスタムユーザモデルをサポートしていない場合。私はdjango - allauthを使用しようとしている、それは素晴らしい製品の最初の一見から。django-allauthから 'username'フィールドを削除

問題私は - usernameフィールドが必要ですが、私のアプリではユーザー名がありません。だから、allauthドキュメントは言う:

**Available settings:** 
ACCOUNT_AUTHENTICATION_METHOD (="username" | "email" | "username_email") 

が使用するログイン方法を指定します - ユーザーが自分のユーザー名、電子メールアドレス、またはその両方のいずれかを入力してログインするかどうか。

[OK]を、私は行って、そしてエラーを得た:

AssertionError at /accounts/signup/ 
No exception supplied 

はmodels.py:

class MyUser(AbstractBaseUser, PermissionsMixin): 
    title = models.CharField ('Name', max_length=100) 
    email = models.EmailField('Email', max_length=255, unique=True) 
    ... 

settings.py

ACCOUNT_USERNAME_REQUIRED = False 
ACCOUNT_AUTHENTICATION_METHOD = ('email') 
AUTH_USER_MODEL = 'internboard.MyUser' 

私は間違っているの?

答えて

34

おかげで、私は、私の仕事のための正しい設定を見つけました:あなたはスタックトレースにエラーdjango.core.exceptions.FieldDoesNotExist: Account has no field named 'username' with reference to USER_MODEL_USERNAME_FIELD`が発生した場合は

ACCOUNT_AUTHENTICATION_METHOD = 'email' 
ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_UNIQUE_EMAIL = True 
ACCOUNT_USERNAME_REQUIRED = False 
+1

こんにちはRukomoynikov、これを機能させるために独自のユーザーモデルを作成しなければなりませんでしたか?もしそうなら、それは正確にどのように見えましたか(あなたが共有したい場合)? – ademartini

+0

最近の公式ドキュメントからのリソース。 http://django-allauth.readthedocs.org/en/latest/advanced.html#custom-user-models – attomos

+0

この唯一の問題は、ユーザーがsay facebookでサインアップした場合、ユーザー名がないことです。 Djangoユーザーアカウント。 –

3

、必要な設定は次のとおりです。

ACCOUNT_USER_MODEL_USERNAME_FIELD = None 
ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_USERNAME_REQUIRED = False 
ACCOUNT_AUTHENTICATION_METHOD = 'email' 
関連する問題