我正在使用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 NOT FOUND状态代码。我完全无能为力。请帮忙。
答案 0 :(得分:0)
URL query parameters(?
之后的所有内容)不路径的一部分。它们不被<path:uri>
捕获;该参数希望找到以/
开头的路径元素。
使用:
@bp.route('/talents/filters/reset')
def talents_filters_reset():
uri = request.args['uri']
return session['filters'][uri]
,而request.args
包含所有已解析的请求参数。