現在、データベースから値を取り出して画面に表示しています。私はそれをクリックするたびに画面上のスコアを1ずつ増やすはずのHTMLボタンがすぐ横にあります。現在、ボタンをクリックすると何も起こりません。画面上の数字はそのままです。Flask:データベースの値を更新するボタン
Pythonのファイル
@app.route('/')
def layout():
db = get_db()
try:
cur1 = db.execute('SELECT score FROM {tn} where name="Tyler"'.format(tn="Score"))
score1 = cur1.fetchone()
if request.method == 'POST':
db.execute('UPDATE {tn} SET score=score+1 WHERE name="Tyler"'.format(tn="Score"))
db.commit()
except:
flash("This person doesn't exist in our database!")
return render_template('layout.html', score1=score1)
HTMLファイル
<form action="{{ url_for('layout') }}" method="post">
<p align="center">Tyler</p>
<div align="center">
<tr>
<td>{{ score1.score }}</td>
</tr>
<button type="button">+1</button>
</div>
</form>
は、すべてのヘルプは高く評価されます。ありがとうございました。
編集:更新されたビューとHTML。同じ問題。
だからどうしますか? (そして、どうしてあなたはテーブル名を補間していますか?とにかくハードコーディングされているときは特にです) –
ボタンをクリックすると、数値は変わりません。ちょうどゼロのままです(表のデフォルト)。私は一度基本的な機能を持っていれば、たくさんのハードコーディングを取ることを計画しています。そのため、補間のいくつかのスプリンクルが表示されます。 – HereComesDatBoi