这是基于官方文档中的Flask教程。我尝试添加删除选项,以便删除我不想要的帖子。我的if语句引起了错误,但我不知道为什么。
除了解决我的按钮问题,我还有其他一些问题。
为什么要将表单的操作设置为"。"
为什么我只能设置要删除的按钮的名称并忽略该值? (即如果request.form ['删除']:)
如果我想指定我删除哪个帖子,那么将post-id添加到此删除页面的最佳方法是什么(我的测试数据库有一个id列)?
我的模板:
{% for message in get_flashed_messages() %}
<div class=flash>
{{ message }}
</div>
{% endfor %}
<form action="." method="POST">
<input type="submit" name="button" value="Delete">
<a href="{{ url_for('show_entries') }}">Cancel</a>
</form>
我的.py文件:
@app.route('/delete', methods=['GET', 'POST'])
def remove_entry():
if request.form['button'] == 'Delete':
flash("Hello world")
# delete post
#g.db.execute('DELETE FROM entries (id) VALUES (?)',something])
#g.db.commit()
#return redirect(url_for('show_entries'))
return render_template('delete.html')
答案 0 :(得分:1)
为什么我不能只设置要删除的按钮的名称并忽略该值? (即如果request.form ['delete']:)
实际上你需要区分GET和POST请求,如下所示:
if request.method == 'POST':
flash("Hello world")