我的路线看起来像这样,
@app.route('/search/<query>')
def search(query):
# query DB, return a template, etc.
从DB中获取包含%query%
的一些记录。但是,当该查询包含一个或多个#
时会中断。
根据我的阅读,这是网址编码的问题(#
未转换为%23
或其他内容。
我该如何解决这个问题?根据另一个答案的建议尝试在response.charset = 'US-ASCII
设置search(query)
,但没有运气。
答案 0 :(得分:1)
这看起来是您的前端代码无法正确编码网址的问题。
我刚刚运行了一个快速测试,瓶子正确地解析了/search/number #6
到To
。
您的前端用于编码网址的可能性很可能是将哈希标记解释为片段标识符并且无法正确编码。您可能希望在传递URL之前使用另一个库对URL进行编码,或者手动对其进行编码。