尝试重定向到 url 路径引发 Werkzeug BuildError
Trying to redirect to url path raises Werkzeug BuildError
成功登录后我想重定向到/metering
。但是,成功登录后会引发 werkzeug.routing.BuildError
。为什么会出现此错误?
@app.route('/login', methods=['GET', 'POST'])
def login():
error=None
if request.method=='POST':
if request.form['username']!='admin' or request.form['password']!='1234':
error ='Invalid Credentials. Please try again.'
else:
return redirect(url_for('/metering'))
return render_template('login.html', error=error)
@app.route('/metering')
def hello1():
return render_template('metering.html')
您收到该错误是因为 url_for
需要一个结束名称,而不是 url(它 构建 url)。您已将函数命名为 hello1
,因此这是与路径 /metering
关联的端点的默认名称。将 'hello'
传递给 url_for
。
return redirect(url_for('hello1'))
成功登录后我想重定向到/metering
。但是,成功登录后会引发 werkzeug.routing.BuildError
。为什么会出现此错误?
@app.route('/login', methods=['GET', 'POST'])
def login():
error=None
if request.method=='POST':
if request.form['username']!='admin' or request.form['password']!='1234':
error ='Invalid Credentials. Please try again.'
else:
return redirect(url_for('/metering'))
return render_template('login.html', error=error)
@app.route('/metering')
def hello1():
return render_template('metering.html')
您收到该错误是因为 url_for
需要一个结束名称,而不是 url(它 构建 url)。您已将函数命名为 hello1
,因此这是与路径 /metering
关联的端点的默认名称。将 'hello'
传递给 url_for
。
return redirect(url_for('hello1'))