我正在嘗試urlencode
已翻譯的包含Django(1.6.1)模板中的變量的文本塊。我需要做的,因爲包含翻譯對象的mailto
鏈接這樣的:如何使用變量對翻譯的文本塊進行網址編碼?
<a href="mailto:[email protected]?subject=_('Hello {{ username }}')|urlencode">Send email</a>
除了這個代碼將產生以下輸出:
<a href="mailto:[email protected]?subject=Hello%20%7D%7Dusername%7D%7D%20">Send email</a>
所以,很顯然,在username
變量沒有被評價_()
運營商。如果我沒有弄錯,唯一可以評估變量的翻譯標籤是blocktrans
。
因此,將主題翻譯存儲在專用變量中會是一件好事。例如:
{% blocktrans as subject %}Hello {{ username }}{% endblocktrans %}
<a href="mailto:[email protected]?subject={{ subject|urlencode }}">Send email</a>
除「as」不是blocktrans
的有效參數外。
我知道我可以用javascript解決這個問題。我正在尋找更多的「Djangonic」解決方案。