私はdjango登録パッケージを使用してdjangoウェブサイトを作っています。ユーザーが自分の電子メールに登録してユーザー名を持たないようにして、実際の名前(facebookのような)を持つインターフェイスを持ち、電子メールでそれらの情報を追跡できるようにしたいと思います。djangoのユーザー名とメールアドレスは同じですか?
私はユーザープロファイルが必要で、後でoneToOneフィールドを使用してユーザーモデルを拡張する予定ですが、現在はユーザー名として電子メールを使用する方法がわかりません。私は、単純にユーザーの電子メールを要求し、それをユーザー名として保存することもできると考えていました。ただし、すべてのフォームを変更する必要があり、データベースには基本的に重複する列(email = username)が作成されます。
この質問は本当に公開されています。私は、プロジェクトの途中でユーザーモデルを変更する簡単な方法があるかどうかを知りたいと思います。 User(AbstractUser)クラスのドキュメントを読んだことがありますが、プロジェクトを開始したばかりの場合にのみ有効です。
ありがとうございました、ありがとうございます。
もう少し詳しく説明してください、私はまだかなり失われています。これは本当に簡単で直感的な修正のようですが、私はそれを正しく実装できません。ありがとう! –
'django.contrib.auth.models.User'は、ユーザを一意に識別するために' username'を使います。この振る舞いを無効にするには、 'django.contrib.auth.models.User'の一意の' email'フィールドを使用して 'USERNAME_FIELD'とマークするカスタム認証バックエンドを書くか、カスタムユーザーを書くかの2つのオプションがあります'AbstractUser'クラスを継承してモデルを作成します。私はあなたが認証バックエンドで混乱したくない場合は、カスタムユーザモデルを書くことをお勧めします。 – Darshit