-1

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

@@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>

请帮我解决上述问题

4

2 回答 2

5

除了所有明显的语法错误外,应该通过将传递给路由的参数放在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')
于 2013-03-14T08:48:27.560 回答
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)

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

于 2013-08-27T03:55:28.073 回答