django-allauthで、既存のプレースホルダーやラベルを変更する

概要

  • django-allauthで、自作のテンプレートを作る際に既存のlabelやplaceholderが英語なので日本語に書き換えたい
  • テンプレートでフィールドを出力する際は、直書きせずにfor文で回して取得している場合を想定

対応

  • formクラスの__init__で、self.fieldの辞書を上書きする

ソースコード

forms.py

from allauth.account.forms import SignupForm

class MyBaseUserSignupForm(SignupForm):
    def __init__(self, *args, **kwargs):
        super(MyBaseUserSignupForm, self).__init__(*args, **kwargs)
        # django-allauthのフィールドを上書き
        self.fields['email'].label = 'メールアドレス'
        self.fields['email'].widget.attrs['placeholder'] = 'メールアドレス'
        self.fields['password1'].label = 'パスワード'
        self.fields['password1'].widget.attrs['placeholder'] = 'パスワード'

注意

  • パスワード欄はpassword1で、数字が付く(確認用パスワード入力欄と区別するため)

参考

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です