Django3.0
- django-allauthで、自作のテンプレートを作る際に既存のlabelやplaceholderが英語なので日本語に書き換えたい
- テンプレートでフィールドを出力する際は、直書きせずにfor文で回して取得している場合を想定
- Djangoのテンプレートで、あらかじめ指定したフィールドだけ表示したい
- Userモデルで、is_activeなど不要なフィールドは見せたくない
-
django.views.generic.DetailView
で表示する想定
- フィールドを後から増減させたときに、なるべく一箇所だけの変更で済ませたい
- Djangoのテンプレートで、hiddenのフィールドは項目名も表示しないようにしたい
- 入力欄を
as_hidden
で出力すると、項目名は出てしまう。
- テンプレートでフィールドを出力する際、直書きせずにfor文で回して取得している場合を想定
-
is_hidden
メソッドを使って判定する
- プロフィール編集画面のViewを作成する際に、
自分のプロフィールのみアクセス可能とするMixin
と クラスベース汎用ビュー
を継承したクラスを作成する
Djangoのログイン機能(ユーザ認証)の実装には、標準のdjango.contrib.authがある。(公式ページ)
django-allauthを使うと、簡単に実装できる
TwitterアカウントやGitHubアカウントなどでもログインできる。公式ページ、ドキュメントを参照。個別に設定が必要なので、今回は割愛。
今回は、メルアドとパスワードでの認証にする