Python / Flask / Jinja url_for格式化

时间:2012-12-07 15:55:15

标签: python flask url-for

我希望使用Flask的url_for为标签生成网址 - 但是它似乎正在用实体/网址代码'%2B'替换'+'。这会产生一个相当丑陋的URL,“+”会更受欢迎。

所以,我的问题是,如何使用url_for - 但是接受'+'而不将其格式化为HTML实体?

1 个答案:

答案 0 :(得分:0)

flask url_for函数调用werkzeug url_quote函数(查看github上的源代码)。 url_quote函数定义为:

def url_quote(s, charset='utf-8', safe='/:'):
"""URL encode a single string with a given encoding.

:param s: the string to quote.
:param charset: the charset to be used.
:param safe: an optional sequence of safe characters.
"""
if isinstance(s, unicode):
    s = s.encode(charset)
elif not isinstance(s, str):
    s = str(s)
return _quote(s, safe=safe)

所以可能是您可以进行一些更改的地方。