我正在使用Flask框架,我正在尝试从数据库中删除一个条目.下面的代码给出了这个错误:“请求的URL不允许使用该方法.”
在html中:
<form action="{{ url_for('delete_entry',id=entry.id) }}" method="POST"> <input type="hidden" name="_method" value="DELETE" /> <input type="submit" value="Delete entry" /> </form>
在py中:
@app.route('/delete',methods=['DELETE']) def delete_entry(postID): if not session.get('logged_in'): abort(401) g.db.execute('delete from entries WHERE id = ?',[postID]) flash('Entry was deleted') return redirect(url_for('show_entries'))
然后我如何从html到py获取正确的postID?
解决方法
如果您打算使用POST请求,该变量将在flask的request.form下可用.如果你继续使用DELETE我认为你需要改变你的uri.例如:
@app.route('/delete/<int:postID>',methods=['DELETE'])