Djangoユーザーモデルを拡張するための健全な戦略?
-
28-10-2019 - |
質問
私はユーザーモデル自体に触れていないので、これは大丈夫なはずです。
電子メールとパスワードに基づいて純粋にユーザーを登録したいと思います。ユーザーモデルでは、ユーザー名が必要です。私の考えでは、電子メールアドレスをユーザー名として保存し、電子メールアドレスを検証するカスタムユーザーCreationFormを作成できることです。
残念ながら、それに伴い、user.usernameを介してメールアドレスを参照する必要があります。
これは標準ですか?より良い方法はありますか?
ありがとう
解決
私の考えでは、電子メールアドレスをユーザー名として保存し、電子メールアドレスを検証するカスタムユーザーCreationFormを作成できることです。
近い。
使用 clean
メールアドレスをユーザー名にコピーする方法。これは、デフォルトのログインフォームを除くすべての場合、非常にうまく機能します。
デフォルトのログインフォームを調整して、ユーザー名をメールアドレスにする必要があります。デフォルトのフォームは文字のみを期待し、句読点を拒否します。
他のヒント
いくつかの答え ここ.
最良の方法は書くことかもしれません カスタム認証バックエンド (それほど難しくありません)ログインして電子メールアドレスを受け入れ、ユーザー名フィールドにメールのハッシュを保存して、必要な一意のユーザー名を満たします。
所属していません StackOverflow