【问题标题】:Python/Flask/Jinja url_for formattingPython/Flask/Jinja url_for 格式化
【发布时间】:2012-12-07 15:55:14
【问题描述】:

我正在寻找使用 Flask 的 url_for 为标签生成 URL - 但是它似乎正在用实体/url 代码“%2B”替换“+”。这会造成一个相当难看的 URL,'+' 会更受欢迎。

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

【问题讨论】:

    标签: python flask url-for


    【解决方案1】:

    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)
    

    所以也许这是你可以做一些改变的地方。

    【讨论】:

      猜你喜欢
      • 2014-07-22
      • 2018-02-19
      • 2021-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 2021-03-17
      相关资源
      最近更新 更多