2012-10-01 78 views
16

我有10個html文件,名稱爲1.html,2.html ..etc 我想要的是根據變量,某個文件應該包含在模板。如何在Django中使用「include」標籤動態地包含模板

例如

{% if foo.paid %} 
    {% include "foo/customization/{{ foo.id }}.html" %} 
{% endif %} 

這可能嗎?導致foo.id在include標籤工作之前未被翻譯。結果它給出了一個錯誤。這個問題如何以不同的方式處理? 我應該爲此創建一個自定義模板標籤嗎?

回答

26

您可以使用add filterwith statement

{% if foo.paid %} 
    {% with template_name=foo.id|stringformat:"s"|add:".html" %} 
     {% include "foo/customization/"|add:template_name %} 
    {% endwith %} 
{% endif %} 

首先你建立一個template_name,它與.html連接字符串格式包括foo.id。然後將它傳遞給include標記,並與模板目錄的路徑連接。

相關問題