2013-08-29 56 views
7

我找到similar question on StackOverflow,但該解決方案似乎對我無效,除非我做錯了。我有一個ID號,我想在模板標籤中附加一個字符串。這是我的嘗試:如何將字符串連接到Django中的模板標籤內的數字

{% with "image-"|add:vid.the_id as image_id %} 
    {# custom template tag to generate image #} 
    {% image vid.teaser_thumbnail alt=vid.title id=image_id %} 
{% endwith %} 

image_id出現爲空。

我在這裏做錯了什麼?

我的期望輸出image_id會像「image-8989723123」。

+0

'add'過濾器嘗試添加爲整數,如果失敗它試圖將它們串聯。在你的情況下,數字和字符串將導致異常。你可以像這樣定義你自己的過濾器:http://stackoverflow.com/a/23783666/781695 – Medorator

回答

14

嘗試這種方式(加在你的頂部with語句stringformat):

{% with vid.the_id|stringformat:"s" as vid_id %} 
    {% with "image-"|add:vid_id as image_id %} 
     {# custom template tag to generate image #} 
     {% image vid.teaser_thumbnail alt=vid.title id=image_id %} 
    {% endwith %} 
{% endwith %} 
+0

不幸的是,這是行不通的。也許是因爲'the_id'是一個數字? – shrewdbeans

+0

@shrewdbeans請檢查更新的答案(添加'stringformat')。 – alecxe

+2

非常好,'stringformat'爲+1 – shrewdbeans

相關問題