Djangoにはユーザー認証システムがあります。公式サイトは文章のみで分かりづらかったのでどんなクラスがあるかクラス図にしてみました。
今回はdjango.contrib.auth.viewsとdjango.contrib.auth.formsにあるクラスのクラス図を作成してどんな機能があるか確認してみました。
django.contrib.auth.viewsのクラス図

認証システムのビューにはログイン、ログアウト、パスワードリセット、パスワードリセット受付完了、パスワードリセット確認、パスワードリセット完了、パスワード変更、パスワード変更完了のビューがありました。
パスワードリセットと、パスワード変更の違いは前者はログインできなくなった時、後者はログイン後パスワードを変更したい時に使われます。
FormViewクラスやTemplateViewクラスのクラス図はDjango クラスベースビューのクラス図を使って構造を把握するで紹介しています。
django.contrib.auth.formsのクラス図

認証システムにあるフォームクラスは計7つあります。
上部はユーザクラス作成用のフォームとユーザクラス編集用のフォームです。ModelFormを使ってユーザモデル用のフォームを作成しています。ユーザ作成ページやユーザ変更ページを作成する時はこれらのフォームを応用できそうです。
下部はパスワード変更やログインなどに使われるフォームです。これらのフォームはdjango.contrib.auth.viewsで利用されています。
学習素材として
「Djangoのクラスベースビューやフォームの機能をどう使えば良いか分からない」と困っている場合は、認証システムのビューやフォームは非常に参考になると思います。
ただし、いきなりコードを上から順に読むよりはクラス図を書いて全体を把握するところから始めると学習しやすいでしょう。
コメントを残す