您好我正在尝试创建一个简单的调查应用程序,如果您填写表单,它会将您移至您可以查看调查结果的页面。
我目前遇到的问题是"请求的网址不允许这种方法。"
Sever.py:
from flask import Flask, flash, session, render_template, request, redirect, url_for
app = Flask(__name__)
app.secret_key = 'very secret'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/process', methods=['POST'])
def process():
if len(request.form['name']) < 1 or len(request.form['comments']) < 1:
flash("you need to fill out the name and comments")
else:
return redirect(url_for('createUser'))
return redirect('/')
@app.route('/results', methods=['POST'])
def createUser():
return render_template('results.html', name=request.form['name'],
location=request.form['location'], favLang=request.form['favLang'],
comments=request.form['comments'])
return redirect('/')
app.run(debug=True)
if / else语句有效,因为当我不输入姓名或评论时,我会得到我的flash。我无法让其他人正确地转到app.route(&#39; / results&#39;)。我也试过这个没有成功:
@app.route('/process', methods=['POST'])
def process():
if len(request.form['name']) < 1 or len(request.form['comments']) < 1:
flash("you need to fill out the name and comments")
else:
return redirect('/results')
return redirect('/')
答案 0 :(得分:0)
感谢@davidism的评论,我刚刚在vaidation表单中创建了用户,然后在结果页面上进行了链接。
这里是:
@app.route('/process', methods=['POST'])
def process():
if len(request.form['name']) < 1 or len(request.form['comments']) < 1:
flash("you need to fill out the name and comments")
else:
return render_template('results.html', name=request.form['name'],
location=request.form['location'], favLang=request.form['favLang'],
comments=request.form['comments'])
return redirect('/')
我不知道&#34;正确&#34;它确实按照我想要的方式运作。