方法不允许在烧瓶中出错

时间:2014-06-06 18:02:56

标签: python html flask

我在尝试提交请求时收到此错误。

Method Not Allowed

The method is not allowed for the requested URL.

这是我的烧瓶代码..

@app.route("/")
def hello():
  return render_template("index.html")

@app.route("/", methods=['POST','GET'])
def get_form():
  query = request.form["search"]
  print query

我的index.html

<body>

<div id="wrap">
  <form action="/" autocomplete="on" method="POST">
    <input id="search" name="search" type="text" placeholder="How are you feeling?">
     <input id="search_submit" value="Send" type="submit">
  </form>
</div>

  <script src="js/index.js"></script>

</body>

编辑..我的完整烧瓶代码:

from flask import  Flask,request,session,redirect,render_template,url_for
import flask
print flask.__version__
app = Flask(__name__)

@app.route("/")
def entry():
    return render_template("index.html")

@app.route("/data", methods=['POST'])
def entry_post():
    query = request.form["search"]
    print query
    return render_template("index.html")


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

1 个答案:

答案 0 :(得分:3)

您要发布到entry()功能,而您的entry_post()功能会侦听不同路线;它已注册为仅收听/data,而不是/

@app.route("/data", methods=['POST'])
def entry_post():

/路由不接受POST,默认情况下只允许GETHEADOPTIONS

相应调整表单:

<form action="/data" autocomplete="on" method="POST">

考虑到Flask 重新加载您的来源,除非您enable debugging

app.run(debug=True)