4

私はDjango-rest-authを使って認証を行うdjangoプロジェクトを持っています。 メールアドレスパスワードを使用して、ユーザー名+パスワードではなくユーザーを認証します。ユーザー名の代わりにDjango rest auth email

私は私のsettings.pyの設定を次のようしているが、それは私のために何もしませんでした。

REST_SESSION_LOGIN = True 
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 
ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_AUTHENTICATION_METHOD = 'EMAIL' 
ACCOUNT_EMAIL_VERIFICATION = 'optional' 

どのように私はそれを達成することができますか?

+0

1.あなたはすべてのエラーを取得するのですか? 2.カスタムユーザーモデルをお持ちですか? 3.次の設定を試しましたか? http://django-allauth.readthedocs.org/en/latest/advanced.html#custom-user-models – mariodev

答えて

0

私もこのパッケージを使用していて、コールすることで、この設定は、それが私の仕事:

ACCOUNT_AUTHENTICATION_METHOD = 'email' 

は、この設定に注意してください、この設定はdjango-allauthに属し、これを参照してください。

class AuthenticationMethod: 
    USERNAME = 'username' 
    EMAIL = 'email' 
    USERNAME_EMAIL = 'username_email' 

上記のクラスはallauthの設定ですので、小文字で 'EMAIL'と記述してください。私はそれが次の設定

7

を役に立てば幸い

が働いた:

#This is required otherwise it asks for email server 
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 
# ACCOUNT_EMAIL_REQUIRED = True 
# AUTHENTICATION_METHOD = 'EMAIL' 
# ACCOUNT_EMAIL_VERIFICATION = 'optional' 

ACCOUNT_AUTHENTICATION_METHOD = 'email' 
ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_USERNAME_REQUIRED = False 

#Following is added to enable registration with email instead of username 
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth` 
"django.contrib.auth.backends.ModelBackend", 

# `allauth` specific authentication methods, such as login by e-mail 
"allauth.account.auth_backends.AuthenticationBackend", 
) 
関連する問題