Flask post 删除,URL 限制
Flask post delete, URL restrictions
示例代码:
@app.route('/delete-update/<int:post_id>')
@login_required
def delete_update(post_id):
try:
p = Post.query.filter(Post.id == post_id).delete()
db.session.commit()
flash('Post successfully deleted')
except:
db.session.rollback()
return redirect(url_for('index'))
我可以通过单击按钮使用此路由删除 post,但是如何通过请求 URL
来防止删除 post
localhost:5000/delete-update/1
您应该在路由定义后使用 methods
属性。
@app.route('/delete-update', methods=['POST'])
if request.method == 'POST':
#do your stuff
您还可以使用任何默认的 http 方法,例如 PUT, DELETE, PATCH
。
请注意,随着该更改,如果您使用方法 GET
向:
发出请求
http://localhost:5000/delete-update/1
您将收到 405
回复消息 method not allowed
。
那是因为我们的路由不再处理 GET
同时,您应该更改按钮句柄以使用方法 POST
向该路由发送请求。
示例代码:
@app.route('/delete-update/<int:post_id>')
@login_required
def delete_update(post_id):
try:
p = Post.query.filter(Post.id == post_id).delete()
db.session.commit()
flash('Post successfully deleted')
except:
db.session.rollback()
return redirect(url_for('index'))
我可以通过单击按钮使用此路由删除 post,但是如何通过请求 URL
来防止删除 postlocalhost:5000/delete-update/1
您应该在路由定义后使用 methods
属性。
@app.route('/delete-update', methods=['POST'])
if request.method == 'POST':
#do your stuff
您还可以使用任何默认的 http 方法,例如 PUT, DELETE, PATCH
。
请注意,随着该更改,如果您使用方法 GET
向:
http://localhost:5000/delete-update/1
您将收到 405
回复消息 method not allowed
。
那是因为我们的路由不再处理 GET
同时,您应该更改按钮句柄以使用方法 POST
向该路由发送请求。