Flaskでwebサイトを構築中です。
1.あるページ(a.html)のフォームに入力し、ボタンで実行
2.入力データをb.pyで受け取り、変数に格納
2.その変数をc.pyに引渡して実行
3.実行結果をd.htmlで出力
という流れを実現したいと考えています。
※それぞれ、該当箇所のみ抜粋しています。
a
1 <form action="/d" method="POST"> 2 <p>ida<input type="text" name="neid"></p> 3 <p>idb<input type="text" name="snid"></p> 4 <p>idc<input type="text" name="noid"></p> 5 <p><button class="oshimasu">button</button></p> 6 </form>
b
1@app.route('/d', methods=['POST']) 2def confirm(): 3 if request.method == 'POST': 4 neres = request.form["neid"] 5 snres = request.form["snid"] 6 nores = request.form["noid"] 7 proc = subprocess.run(['python','c.py'], stdout=PIPE, stderr=PIPE, text=True) 8 res = proc.stdout 9 return render_template('d.html', response = res)
c
1import b 2 3url = f'https://www.humuhumu/{neres}/hogehoge/{snres}/satesate/{nores}/houhou' 4 5response = requests.get(url, params=param, headers=headers) 6 7print(response)
d
1 <p>{{ response }}</p>
b.pyの「subprocess.run」行を抜き、d.htmlでそれぞれの変数に格納したデータを表示することは
成功しています。
また、入力フォームを用意せずにボタンを押すことでsubprocess.runでc.pyを実行し、その結果を
d.htmlに表示することにも成功しています。
したがって、subprocessに変数を渡せていないものと考えています。煮詰まりました。
input等を追加したりしてみたのですが…
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー