所以我当前从数据库中提取一个值并将其显示在屏幕上。我旁边有一个HTML按钮,每次点击它都会使屏幕上的分数增加1。目前,当我点击按钮时没有任何反应。屏幕上的数字保持不变。
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。同样的问题。
答案 0 :(得分:0)
您的两个视图函数映射到同一路径;但URL只能由一个视图提供。
将increaseScore1函数映射到不同的路径,或者将逻辑组合在一个函数中,该函数检查方法是否为POST,如果是,则更新分数,否则只显示它。