に基づいて、Djangoで独自のカスタム登録モジュールをローリングしていますdjango.contrib.auth。私の登録モジュールにはいくつかの追加機能があり、django-registrationやdjango-emailchangeなどの現在使用している他のdjangoモジュールへの依存を減らすのに役立ちます。私はここで何をすべきかという問題に遭遇しました。
注:すべてのユーザーアカウントはモデルに基づいていdjango.contrib.auth.models.Userます。
ユーザーが「サインアップ」リンクをクリックすると、リクエストは。という名前の私のビューに渡されregisterます。ユーザー名、メールアドレス、パスワード1、パスワード2の4つのフィールドを持つカスタムフォームがあります。フォームはに基づいていdjango.forms.Formます。フォームは基本的な検証を提供します。たとえば、passoword1とpassword2は電子メールです。メールアドレス/ユーザー名は存在しません。
データがレジスタビューにPOSTで戻されたらis_valid()、フォームのメソッドを呼び出します。その後、で呼び出されるManagerメソッドを呼び出して新しいユーザーを作成しcreate_user()ますdjango.contrib.auth.models.UserManager。この時点で、アクティベーションメールの送信など、カスタム機能を追加する必要があります。ベストプラクティスの方法として、このロジックはどこにあるべきですか?Userこれはモデルのメソッドに含める必要がありますか?それは現在の場所、つまりモデルのマネージャーである必要がありますか?save()または、これをサインアップフォームのカスタムメソッドに配置する必要がありますか?
ありがとう。