diadia

興味があることをやってみる。自分のメモを残しておきます。

forms.pyに使うlabelの働き

labelの働きがわからなかった。
htmlを学習した現在働きが同じだと思われる。まずhtmlの使い方を記述する。

<form>
     <label for="fullname">お名前</label>
     <input id="fullname" type="text" name="name">
     <label for="passwd">パスワード</label>
     <input id="passwd" type="password" name="password">
     <button type="submit"> ログイン</button>
</form>

htmlをこのように記述すると、入力欄(この場合は名前とパスワード欄)の直前にlabelタグで囲まれた単語が表示される。
htmlかdjangoのformかの違いはあれど、働きは同じ。フォーム欄に紐付いたラベルをつけることができる。



おそらくこれっぽい。記録しておく。
参考
Djangoで入力フィールドにプレースホルダ(placeholder)を設定する

hoge=forms.CharField(label = ' x')
このように設定してあげると、htmlではxと表示される。

話はそれるけれども、
CharField()の中でlabelとTextInput ,PasswordInputが独立している理由もhtmlを参考に考えると納得がいく。
label='PASSWORD'とPasswordInputはそれぞれタグを表しており、両者は併存関係である。
だからCharFieldの()内で並立して記述していると思われる。
labelはタグで挟むので=を使い、Inputタグはタグ内にidとかclassを書いたりする。それを表現するためにattr={}というスタイルを撮っていると考えれば覚えやすいのではないだろうか?