2012-09-19 50 views
1

我正在使用燒瓶。如何解碼燒瓶模板中的url字符串

在我的模板中,我用它來編碼一個字符串。

encodeURIComponent(mytag) 

現在我想在另一個模板中解碼。
這是什麼字符串看起來像。

%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 

在模板中,我該如何解碼字符串?

{% 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 %} 

我使用google漂亮來顯示字符串。

+1

你想編碼/解碼在JS或Python? [這個答案](http://stackoverflow.com/a/3565460/1043456)可能會幫助你。 – jadkik94

+0

Pref python。但是JS也可以工作 – Tampa

+1

嘗試'urllib2.unquote'如鏈接答案中的建議。 – jadkik94

回答

1

您可以使用Python的urllib。有幾個選項,unquote和unquote_plus。 查看https://unspecified.wordpress.com/2008/05/24/uri-encoding/的解釋。簡而言之,「選擇unquote_plus,如果您的網址使用'+'作爲空格,請記住HTML表單會自動執行此操作。」

from urllib import unquote_plus 
@app.route('/foo', methods=['POST']) 
def foo(): 
    mytag = request.form['params'] 
    print unquote_plus(mytag)