Web フォームにテーブルがあります。ドロップダウンから値を変更して送信します。
ページを送信するときに、テーブルからすべての値を辞書形式で post メソッドに取得したいと考えています。
これらの値はバックエンド データベースに保存します。
ポストメソッドPythonのフォームからテーブル値を取得することを誰かが提案してもらえますか?
フロントエンドに flask を使用しています。
テーブル作成用の HTML コード:
<table>
<tr><td>LL6cdsid</td><td>resourcecdsid</td><td>workstation</td><td>location</td><td>date</td><td>status</td><td>raiseit</td><td>changestatus</td><td>Requestid</td></tr>
{%for item in requests %}
<tr><td>{{item[0]}}</td>
<td>{{item[1]}}</td>
<td>{{item[2]}}</td>
<td>{{item[3]}}</td>
<td>{{item[4]}}</td>
<td>{{item[5]}}</td>
<td><a href="http://example.com/">Raise IT</a></td>
<td><select name="status" id="status">
<option value="RAISED">NEW</option>
<option value="RAISED">RAISED</option>
<option value="PENDING">PENDING</option>
<option value="COMPLETED">COMPLETED</option>
<option value="CLOSED">CLOSED</option>
</td>
<td>NIL</td>
{% endfor %}
<td></td></tr>
</table>
ありがとうございました
フォームを送信するときに POST を使用すると、送信されたデータにアクセスできます。request.form を使用したビュー関数
– monsieuralfonse64
2020 年 9 月 3 日 16:39
すべてを辞書形式にしたいのですが...
– ヴィジャヤサラティ
2020 年 9 月 3 日 16:53
それなら自分でやる必要があると思います
– monsieuralfonse64
2020 年 9 月 3 日 18:31
------------------------
各セルの内容と同じ値を持つ非表示の入力を追加します。
<form method="post" action="your_flask_route">
<table>
...
</tr>
{%for item in requests %}
<tr><td><input type="hidden" name="td1" value="{{item[0]}}">{{item[0]}}</td>
...
<td><input type="hidden" name="td5" value="{{item[5]}}">{{item[5]}}</td>
<td><a href="http://example.com/">Raise IT</a></td>
...
<td>NIL</td>
{% endfor %}
<td></td></tr>
</table>
</form>
フラスコでは、次のようにして送信されたフォームの詳細を取得できます。
request.form['td1']
...
request.form['td5']
2
request.form['td1'] にアクセスしようとすると、これが発生します *** werkzeug.Exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad Request: ブラウザ (またはプロキシ) ) がこのサーバーが理解できないリクエストを送信しました。 (Pdb) request.form['td1'] *** werkzeug.Exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad Request: ブラウザ (またはプロキシ) が、このサーバーが理解できないリクエストを送信しました。 (Pdb) request.form['td2'] *** werkzeug.Exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad Request: ブラウザ (またはプロキシ) がこのサーバーに要求を送信しました。理解できなかった。 (Pdb)
– ヴィジャヤサラティ
2020 年 9 月 4 日 9:57
html <tr><td><input type="hidden"名前= "td1"値="{{item[0]}}">{{item[0]}}</td> <td><入力タイプ=「非表示」名前= "td2"値="{{item[1]}}">{{item[1]}}</td> <td><入力タイプ=「非表示」名前=「td3」値="{{item[2]}}">{{item[2]}}</td> <td><入力タイプ=「非表示」名前= "td4"値="{{item[3]}}">{{item[3]}}</td> <td><入力タイプ=「非表示」名前= "td5"値="{{item[4]}}">{{item[4]}}</td> <td><入力タイプ=「非表示」名前= "td6" value="{{item[5]}}">{{item[5]}}</td>
– ヴィジャヤサラティ
2020 年 9 月 4 日 9:58