Flask - 重定向url_for错误

时间:2013-03-14 07:46:01

标签: python flask-wtforms flask-extensions flask

我的烧瓶应用程序中出现了以下代码的错误。

@@app.route('/')
.....

return redirect(url_for('nextPage'),id=DBTable.id)


@app.route('/<path:id>')
@login_required
def nextPage(id):
return render_template('page2.html')               

Error - 
---------------------------------------------------------------------------
File "C:\Python27\lib\site-packages\werkzeug\routing.py", line 1607, in build
raise BuildError(endpoint, values, method)
BuildError: ('nextPage', {}, None)
<SocketIOServer fileno=116 address=0.0.0.0:5000>: Failed to handle request:
request = POST /landingPage HTTP/1.1 from ('127.0.0.1', 50287)
application = <flask.app.Flask object at 0x0000000002643B70>

请帮我解决上述问题

2 个答案:

答案 0 :(得分:3)

尝试使用此代码

from flask import *

app = Flask(__name__)

@app.route('/')
def index():
    return redirect(url_for('random', id="blah blah"))

@app.route('/<id>')
def random(id):
    return id

if __name__ == '__main__':
    app.run(debug=True)

告诉我你是否有任何错误。

答案 1 :(得分:1)

除了所有明显的语法错误之外,还应通过将传递给url_for块中的路径的参数放在一起解决问题。

@app.route('/')
def index():
    # ...
    return redirect(url_for('nextPage', id=DBTable.id))

@app.route('/<id>')
def nextPage(id):
    # ...
    return render_template('page2.html')