python - Flask - POST - 请求的 URL 不允许该方法

标签 python post flask

我刚开始学习 Flask,但在使用 POST 方法时遇到了麻烦。

这是我的(非常简单的)Python 代码:

@app.route('/test')
def test(methods=["GET","POST"]):
    if request.method=='GET':
        return('<form action="/test" method="post"><input type="submit" value="Send" /></form>')

    elif request.method=='POST':
        return "OK this is a post method"
    else:
        return("ok")

去的时候: http://127.0.0.1:5000/test

我可以通过点击发送按钮成功提交我的表单,但是我返回了一个405 错误:

方法不允许 请求的 URL 不允许该方法。

这是一个非常简单的案例,但我不明白我的错误在哪里。

最佳答案

您必须在路由声明接受方法中添加“POST”。您已将其放入函数中。

@app.route('/test', methods=['GET', 'POST'])
def test():
    if request.method=='GET':
        return('<form action="/test" method="post"><input type="submit" value="Send" /></form>')

    elif request.method=='POST':
        return "OK this is a post method"
    else:
        return("ok")

参见:http://flask.pocoo.org/docs/0.10/quickstart/

关于python - Flask - POST - 请求的 URL 不允许该方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853033/

相关文章:

python - 导入 opencv 模块

python - 如何创建一个张量,其元素通过特定整数设置为 1 并填充 0 以适应宽度大小

python - 使用 Alembic 时导入应用程序引发 ImportError

python - 0 字节 Zip 存档

python - 使用 pandas 计算下一行的值作为前一行的函数

python - 在 [Python] 中查找所有 TR(来自 html <table>)

php - Codeigniter:将整个 POST 请求发送到另一个 Controller 的方法

jquery发布问题

java - 使用Aspectj调用joinPoint.getArgs时如何忽略带有javax注释的参数?

python - 带有 Gunicorn Dockerized 的 Flask 应用程序,监听 : http://0. 0.0.0 :8000, 但 URL 没有响应