Flask URL 不可用
我正在开发一个Flask应用,下面是views.py中的代码:
@bp.route('/talents/filters', methods=['POST'])
def talents_filters():
form = TalentFilters()
if form.validate_on_submit():
set_filters(form)
return redirect_back('.home')
@bp.route('/talents/filters/reset<path:uri>')
def talents_filters_reset(uri):
return session['filters'][uri]
第一个网址可以正常工作,但第二个网址却出现了404错误。
第一个网址的工作情况是:
http://localhost:5000/admin/talents/filters
而对于第二个网址,我尝试的是:
http://localhost:5000/admin/talents/filters/reset?uri=%2Fadmin%2Ftalents%2F
但是它返回了404未找到的状态码。我完全不知道该怎么办。请帮帮我。
1 个回答
1
URL 查询参数(也就是问号后面的部分)并不是路径的一部分。它们不会被 <path:uri>
捕获;这个参数是用来寻找以 /
开头的路径元素的。
应该使用:
@bp.route('/talents/filters/reset')
def talents_filters_reset():
uri = request.args['uri']
return session['filters'][uri]
而是使用这个,其中 request.args
包含了所有解析过的请求参数。