diadia

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

forms.py外で定めなければならないもの

forms.Formを利用するにあたって必ずhtml上で定めなければならない事がある。
これはforms.pyで定めることが出来ず、どうしてもhtml上で記述しないといけないということだ。

https://docs.djangoproject.com/ja/2.1/topics/forms/#html-forms

As well as its <input> elements, a form must specify two things:

どこで: ユーザーのインプットに対応するデータの宛先となるべきURL
どのように: データが返される方法として使われる HTTP メソッド
︙
また、フォームのデータが <form> の action 属性によって指定された URL - /admin/ - に送信されるべきこと、そして method 属性によって指定されたHTTP メカニズム - post - を使って送信されるべきこともブラウザーに伝えています。

    ドキュメントのこれらの記述からFormを使う際は2点定めなければいけない。
  • フォームで送られたデータの宛先(つまりURLでありaction)の決定
  • どのように送られるデータが送信されるか

また同一ドキュメント内に以下の記述がある。

<form> や送信ボタンを含んで いない ことに注意してください。私たち自身が、これらをテンプレート内で提供する必要があります。


というわけでtml上で必ずmethodとactionは定めること。
formタグ、送信ボタンの設置を記述すること。
忘れないように。