HTMLから入力データを得る、HTMLでデータを送る例

出典:

↑これはわかりやすいが、↓これのほうが実用的かつ論理的である。

↓こちらはリストで授受する例。ボタンで処理分岐の例もある

↓結局これで十分

 

■手順:HTML側:データ入力&送り

1)FromタグでPostリクエストをおくる
  例:<form class="form-inline" method="post"

  例:<form method="POST" action="データを受取るpythonコードのpath">
2)Formで送信する値を設定する
  FlaskはHTMLのinputタグでのname属性からデータを取得する

  例:<input id="name_data" name="name_data" placeholder="***" type="text" class="form-control">  
3)submitタグを利用してHTML側からflask-python側へデータを送る

  例:<button type="submit" class="btn btn-primary">取得</button> 

 

■手順:flask-python側:データ受取

1)POSTでデータが送られてくるからPOSTで受けとる

   if request.method == 'POST':
2)pythonで取得(formのname = "name_data"を取得)

    例:name_data= request.form['name_data'] 

  →データがない場合はエラーで落ちる

 例:request.form.get(‘name_data’)

  →データがない場合はエラー表示される。デフォルトで返す値はNone

 例:request.form.getlist(‘name_data’)

  →request.form.getlist(【name要素】)でHTML側のFormタグの同一要素を

   リストで受け取ることが可能。
   buttonタグのvalue要素もPOSTされてるのでname要素を同一にしておけば

   value要素も受取り、ボタンにより処理を分けることができる。


■手順:flask-python側:変数(データ)送り、HTML側:変数表示

   return render_template(○○.html,変数名=渡したい中身)
 例:return render_template('index.html', name_data = name_data)

 html側は以下にしてpythonから変数を受取り、表示
 例:<p>{{変数名}}</p>