1

この公式の指示に従って、でcustom userモデルを作成しましUSERNAME_FIELD = 'email'た。usernameフィールドを引き続き使用しますが、必須ではありません。EMAIL異なる場合がありUSERNAMEます。問題はallauth、管理パネルの列USERNAMEにユーザーのメールアドレスが表示されることです。

テストとして、次のことを行いました。

  1. 私は 2 人のユーザーを作成し、allauth同じ値をいつ、異なるべきかを示してusernameemailます。 ここに画像の説明を入力

  2. test_user_name@gmail.com「ホーム -> Custom_User -> ユーザー」(へCHANGED_test_user_name@gmail.com) でユーザーの電子メールを変更するとallauth、「ホーム -> アカウント -> 電子メール アドレス」で、変更された値がUser列ではなく列に表示されE-mail addressます。 ここに画像の説明を入力

新しくインストールした Django をチェックインしたところ、すべてが期待どおりに機能します。

私はそのような設定を使用して必要なものを手に入れることを期待していましたallauth:

ACCOUNT_USER_MODEL_USERNAME_FIELD = 'username'
ACCOUNT_USER_MODEL_EMAIL_FIELD = 'email'
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'

しかし運がない。また、さまざまな設定を試しましたが、この問題を修正できません。

フィールドをまったく使用しない場合username(models.py から削除 + ACCOUNT_USER_MODEL_USERNAME_FIELD = None)、ユーザーの電子メールを変更する場合、allauthその動作は変更されません - 変更された電子メールをUser列ではなく列に表示し続けEmail addressます。

なにが問題ですか?

4

0 に答える 0