Flask - 重定向 url_for 错误
我在我的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 个回答
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)
然后告诉我你有没有遇到什么错误。
6
除了那些明显的语法错误,问题应该通过把你传给路由的参数放在 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')