首页 > 解决方案 > 提交表单时 Flask 引发 405 错误

问题描述

我刚刚开始学习烧瓶,但我遇到了这个 405 错误

# Weather App using Flask

## imports 
import main
from flask import Flask
from flask import render_template
from flask import request
app = Flask(__name__)

## initalisation
@app.route('/')
def main_page(methods=["GET", "POST"]):
    if request.method == "POST":
        city = request.form("city")
        print(city)
    return render_template("main.html")
        

if __name__ == "__main__":
    app.run(debug=True)

main.html 是

{% extends "base.html" %}
{% block content %}
<form method="POST">
    <p><input type="text" name="city"></p>
    <p><input type="submit" value="Submit"></p>
</form>
{% endblock %}

POST 在方法参数中,但我无法确定错误在哪里
提前感谢

标签: pythonpython-3.xflask

解决方案


与其将methods列表放在视图函数的参数中,不如将其放在装饰器后面的括号中,如下所示:

@app.route('/',methods=["GET","POST"])
def main_page():
    # your view function

这将允许通过 GET 和 POST 请求访问此路由。


推荐阅读