所以,假设我有一个带有几个链接的模板,链接将是这样的:
<a class='btn btn-primary' href='/?chart=new_chart&chart=other_chart'>View Summary</a>
但是,在我完成链接或包含资源的大部分时间里,我使用了以下语法:
<script src="{{ url_for('static', filename='some_silly_js') }}"></script>
是否可以使用查询参数执行url_for?类似的东西:
<a href="{{ url_for('stats', query_params={chart: [new_chart, other_chart]}) }}>View More</a>
答案 0 :(得分:23)
路由不支持传递给url_for()
的任何额外关键字参数会自动添加为查询参数。
对于重复的值,传入一个列表:
<a href="{{ url_for('stats', chart=[new_chart, other_chart]) }}>View More</a>
烧瓶将:
stats
端点演示,'stats'
是/
的端点名称:
>>> url_for('stats', chart=['foo', 'bar'])
'/?chart=foo&chart=bar'
答案 1 :(得分:1)
根据文档:
Variable arguments that are unknown to the target endpoint are appended to the generated URL as query arguments.
我已经试过了,它按照文档工作
redirect(url_for('face_id_detail', faceid=faceid, name=faceidtag))
注意:faceid 是方法中的参数 && name 不在方法参数中,所以它是附加到查询字符串中的。
face_id_detail
的方法签名是:
@app.route('/faceids/<faceid>')
def face_id_detail(faceid):
# the method code