当我在视图函数中添加“ POST”作为方法时,该方法是不允许的

时间:2018-09-23 12:55:57

标签: python bottle

例如,在我所有的视图函数中,如果我使用“ methods = ['POST']”:

@app.route( '/file', methods=['POST'] )

我收到错误:

    Error: 405 Method Not Allowed
Sorry, the requested URL 'http://superhost.gr/downloads/file' caused an error:

为什么Bottle会给我这个错误消息?

1 个答案:

答案 0 :(得分:2)

我想您在尝试获取视图(GET)时会出错。那是您唯一允许POST的结果。

您应该拥有

@app.route( '/file', method=['POST', 'GET'] )

或单独的处理程序

@app.route( '/file', method=['GET'] )

更新:您复制的示例中似乎有一个错字。 “方法”应该是“方法”。

Update2:下面是一个有效的示例:

from bottle import Bottle, run

app = Bottle()

@app.route('/file', method=['GET', 'POST'])
def file():
    return "Hello!"

run(app, host='localhost', port=8080)