html - Web フォームからポストメソッド Python フラスコにテーブル値を取得するにはどうすればよいですか?

okwaves2024-01-25  8

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

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。