Django: 管理者の承認によるユーザ登録
やりたいこと
- ユーザ登録画面においてE-Mailアドレスとパスワードを入力する。
- 管理者に登録承認のためのメールが届く。
- メール内にあるURLをクリックするとユーザ登録が完了する
実装方針
- ユーザ登録のベースはnaritoブログを参考に構築。
- これをベースに変更を加える。
調査・実装案
- views.pyのclass UserCreate(generic.CreateView)を確認。
- user.email_user(subject, message)が登録されたアドレスにActivateするためのメールを送っている。
- この中身はmodel.pyのclass User(AbstractBaseUser, PermissionsMixin)を見ると、def email_user(self, subject, message, from_email=None, **kwargs):で定義されている。
- 登録されたアドレスへメールするのではなく、user.email_userを参考に、views.pyのAdminチェック入のUserCreateに管理者へのメールを追加する。
- すでにあるユーザ登録の機能はそのままキープしておきたいのでclass UserCreate(generic.CreateView)をはじめ、done, completeも別クラスとして定義する。URLも新たに定義してurls.pyに登録する。まぁ、一式全部作る。
実装については別途書く予定。