首页 > 解决方案 > Python烧瓶删除请求

问题描述

我正在开发 Python 应用程序并使用烧瓶,这是我的 DELETE 函数:

@app.route('/DeleteMessage', methods=['DELETE'])
def DeleteMessage():
    messages = Message.query.all()
    application_id = request.args.get('application_id')
    if application_id:
        messages.filter_by(user_id=application_id)
    session_id = request.args.get('session_id')
    if session_id:
        messages.filter_by(session_id=session_id)    
    message_id = request.args.get('message_id')
    if message_id:
        messages = message.filter_by(message_id=message_id)  
    db.session.delete(messages)
    db.session.commit()
    return 'ok'

当我尝试运行它时,它会向我发送这样一条错误消息:

Method Not Allowed
The method is not allowed for the requested URL.

标签: pythonflask

解决方案


浏览器仅支持 AJAX 请求的 PUT 和 DELETE,但不支持 HTML 表单提交。HTML 表单标签将只允许GETPOST方法。

在您的情况下,您可以发送这样的 ajax 请求,

$.ajax({
url: '{{url_for("DeleteMessage")}}',
type: 'DELETE',
success: function(result) {
    // write something if needed
}
});

推荐阅读