0

Flask の url_for を使用してタグの URL を生成しようとしていますが、「+」をエンティティ/URL コード「%2B」に置き換えているようです。これはかなり醜い URL になります。'+' の方がより好まれます。

それで、私の質問は、どのように url_for を使用できますか?しかし、HTML エンティティにフォーマットせずに「+」を受け入れるようにするにはどうすればよいですか?

4

1 に答える 1

0

フラスコの 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)

ですから、ここでいくつかの変更を行うことができます。

于 2012-12-07T16:50:23.520 に答える