Django Formの作成メモ

DjangoでFormクラスを作るときの自分用のメモ(気づいたら追記

class NameForm(forms.Form):
   name=forms.CharField(label='お名前',max_length=30)


   def __init__(self,*args,**kwargs):
       super().__init__(*args,**kwargs)

       self.fields['name'].widget.attrs['class']='fome-control col-9'

最初に他で使うためのクラス名を宣言

2行目でHTMLとかに埋め込みの際のname=""の””のなかの値を宣言
上記の例だとHTML上では<input type="text" name="name">みたいに変換させる

CharFileldは文字ここはtype=""の””部分IntegerFieldにするとtype="number"とかになる

label は『フォームから取り出したアイテム』.label_tagでラベルのHTMLの中身を作成時に<label></label>タグの間に入る文字列

super().__init__(*args,**kwargs)
自分の継承した型からの情報を作成して取り込む(うまく説明できないので後で追記するかも)

__init__
フォームが作られたとき実行されるメゾット(コンストラクタ)
ここで初期値とか入れる。
cssで使うようなclassの情報などもここで追記できる



いいなと思ったら応援しよう!