如何解码烧瓶模板中的 url 字符串

Tam*_*mpa 6 javascript python jinja2 flask

我正在使用烧瓶。

在我的模板中,我用它来编码一个字符串。

encodeURIComponent(mytag)
Run Code Online (Sandbox Code Playgroud)

现在我想在另一个模板中解码。
字符串在哪里。

%26lt%3B!--Afff%20Tracking%20Tag--%26gt%3B%0A%26lt%3Bimg%20src%3D%22http%3A%2F%2Fcm.g.doubleclick.net%2Fpixel%3F%0Agggg_nid%3Dhff%26gggg_cm%26avid%3David3966173574%26campaign_id%3Dundefined%22%20%2F%26gt%3B
Run Code Online (Sandbox Code Playgroud)

在模板中如何解码字符串?

{% for crid, object in tag_handler.iteritems() %}
    <script>var x = decodeURI("{{object['tag_display']}}"); alert(x);</script>
        <div id="tagBox" style="display: block;width: 700px">
            <pre class="prettyprint">
                <code class="language-html">    
                    {{object['tag_display']}}
                </code>
            </pre>
       </div>

{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我正在使用 google 来显示字符串。

Sev*_*ime 5

您可以使用 Python 的 urllib。有几个选项,unquote 和 unquote_plus。\n有关说明,请参阅https://unspecified.wordpress.com/2008/05/24/uri-encoding/。简而言之,“如果您的 URL 使用 \xe2\x80\x98+\xe2\x80\x99 作为空格,请选择 unquote_plus,并记住 HTML 表单会自动执行此操作。”

\n\n
from urllib import unquote_plus\n@app.route(\'/foo\', methods=[\'POST\'])\ndef foo():\n    mytag = request.form[\'params\']\n    print unquote_plus(mytag)\n
Run Code Online (Sandbox Code Playgroud)\n

  • 在Python 3中,可以在“urllib.parse”而不是“urllib”中找到“unquote_plus”。 (5认同)
  • Flask 自动解码表单数据。没有必要在框架内解码/unquote_plus。 (2认同)