gpt4 book ai didi

url - 在 Flask 的 url_for 函数中禁用字符转义

转载 作者:行者123 更新时间:2023-12-03 15:37:34 26 4
gpt4 key购买 nike

Flask 的 url_for方法有一个选项来禁用自动转义?因此,如果我有一个名为 getUser 的端点像这样的路线:/user/<userID> , 我想调用url_for('getUser', userID='%')并让它返回 /user/% .目前它将逃避 % 符号并给出 /user/%25 .我想这样做是因为 url_for必须在模板编译时运行,但最终 URL 是在运行 javscript 脚本时组成的。我将使用 javascript 字符串替换方法来转换 /user/%进入 /user/abcd ,但我使用的替换脚本要求您使用 %符号作为占位符。

最佳答案

url_for不支持您的用例,但假设您在 Jinja 模板中使用它,您可以添加对 replace 的调用删除编码:

{{ url_for('get_user', user_id='%') | replace('%25', '%') }}

或者,如果您在普通 Python 代码中传递 URL,您可以使用 urllib.parse.unquote (或 urllib.unquote 如果您仍在使用 Python 2):
url = url_for('get_user', 'user_id'='%')
url = unquote(url)

关于url - 在 Flask 的 url_for 函数中禁用字符转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com