尝试重定向到 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'))