Django的逃逸Twitter的網址的方式,推特不喜歡當哈希劉海Twitter的網址,會出現問題: 例如http://twitter.com/#!/bugspy成爲http://twitter.com/#%21%2FbugspyDjango的 - 逃脫
和Twitter不會爲它服務。 如何解決這個問題(沒有明確地在代碼中用!來代替%21%2F)?
Django的逃逸Twitter的網址的方式,推特不喜歡當哈希劉海Twitter的網址,會出現問題: 例如http://twitter.com/#!/bugspy成爲http://twitter.com/#%21%2FbugspyDjango的 - 逃脫
和Twitter不會爲它服務。 如何解決這個問題(沒有明確地在代碼中用!來代替%21%2F)?
你使用的是什麼版本的django?在Django 1.3中,它工作正常。
>>> from django.template.defaultfilters import urlize
>>> urlize('http://twitter.com/#!/bugspy')
u'<a href="http://twitter.com/#%21/bugspy" rel="nofollow">http://twitter.com/#!/bugspy</a> '
而這個網址在twitter上正常工作。 你也可以看看這個snipept:http://djangosnippets.org/snippets/1445/
奇怪,我使用1.3。 (但直接在模板中(例如some_url | urlize)) – GabiMe 2011-05-25 12:38:45
剛剛嘗試從模板。同樣的結果。 {{'http://twitter.com/#!/bugspy'|urlize}} - http://twitter.com/#!/bugspy。所以這是破壞你的網址的其他東西。 – Aldarund 2011-05-25 17:01:13
它究竟在哪裏esscape網址?在使用urlencode過濾器的模板中?如果是這樣,在Django 1.3中可以提供一個非轉義字符列表,例如{{value | urlencode:「#!」 }} – Aldarund 2011-05-25 07:40:53
在urlize模板標記中,例如 – GabiMe 2011-05-25 09:03:41