"Method Not Allowed" Flask 提交表单数据后出错
"Method Not Allowed" error in Flask after submitting form data
在我的表单中单击“提交”后,我收到“不允许的方法
请求的 URL."
不允许使用该方法
所需代码如下
hello.py
@app.route('/')
def home():
return render_template("home.html")
@app.route('/register', methods=["GET", "POST"])
def register():
if request.method == "POST":
# data = {}
name = request.form['name']
place = request.form['place']
descr = request.form['descr']
email = request.form['email']
collection.insert_one({'name': name, 'place': place, 'email': email, 'descr': descr})
return render_template("register.html")
register.html
<form action="." method="post">
<h1> COMPLAINT FORM </h1>
<input class="box" type="text" name="name" id="name"
placeholder="Name" required /><br>
<input class="box" type="place" name="place" id="place"
placeholder="Place" required /><br>
<input class="box" type="email" name="email" id="email"
placeholder="E-Mail " required /><br>
<input class="box" type="text" name="descr" id="descr"
placeholder="Enter Description " required /><br>
<input type="submit" id="submitDetails"
name="submitDetails" value="Submit" /><br>
</form>
我还尝试在 form action="." 中包含重定向 link,但它会引发相同的错误。
问题在于您希望从 /register
端点重定向到主页的方式。你想 post 东西到家里所以代码应该如下:
hello.py
@app.route('/', methods=["GET", "POST"])
def home():
return render_template("home.html")
@app.route('/register', methods=["GET", "POST"])
def register():
if request.method == "POST":
# data = {}
name = request.form['name']
place = request.form['place']
descr = request.form['descr']
email = request.form['email']
collection.insert_one({'name': name, 'place': place, 'email': email, 'descr': descr})
return render_template("register.html")
register.html
<form action="/" method="post">
<h1> COMPLAINT FORM </h1>
<input class="box" type="text" name="name" id="name"
placeholder="Name" required /><br>
<input class="box" type="place" name="place" id="place"
placeholder="Place" required /><br>
<input class="box" type="email" name="email" id="email"
placeholder="E-Mail " required /><br>
<input class="box" type="text" name="descr" id="descr"
placeholder="Enter Description " required /><br>
<input type="submit" id="submitDetails"
name="submitDetails" value="Submit" /><br>
</form>
在我的表单中单击“提交”后,我收到“不允许的方法 请求的 URL."
不允许使用该方法所需代码如下
hello.py
@app.route('/')
def home():
return render_template("home.html")
@app.route('/register', methods=["GET", "POST"])
def register():
if request.method == "POST":
# data = {}
name = request.form['name']
place = request.form['place']
descr = request.form['descr']
email = request.form['email']
collection.insert_one({'name': name, 'place': place, 'email': email, 'descr': descr})
return render_template("register.html")
register.html
<form action="." method="post">
<h1> COMPLAINT FORM </h1>
<input class="box" type="text" name="name" id="name"
placeholder="Name" required /><br>
<input class="box" type="place" name="place" id="place"
placeholder="Place" required /><br>
<input class="box" type="email" name="email" id="email"
placeholder="E-Mail " required /><br>
<input class="box" type="text" name="descr" id="descr"
placeholder="Enter Description " required /><br>
<input type="submit" id="submitDetails"
name="submitDetails" value="Submit" /><br>
</form>
我还尝试在 form action="." 中包含重定向 link,但它会引发相同的错误。
问题在于您希望从 /register
端点重定向到主页的方式。你想 post 东西到家里所以代码应该如下:
hello.py
@app.route('/', methods=["GET", "POST"])
def home():
return render_template("home.html")
@app.route('/register', methods=["GET", "POST"])
def register():
if request.method == "POST":
# data = {}
name = request.form['name']
place = request.form['place']
descr = request.form['descr']
email = request.form['email']
collection.insert_one({'name': name, 'place': place, 'email': email, 'descr': descr})
return render_template("register.html")
register.html
<form action="/" method="post">
<h1> COMPLAINT FORM </h1>
<input class="box" type="text" name="name" id="name"
placeholder="Name" required /><br>
<input class="box" type="place" name="place" id="place"
placeholder="Place" required /><br>
<input class="box" type="email" name="email" id="email"
placeholder="E-Mail " required /><br>
<input class="box" type="text" name="descr" id="descr"
placeholder="Enter Description " required /><br>
<input type="submit" id="submitDetails"
name="submitDetails" value="Submit" /><br>
</form>