2010-07-07 60 views
1

我有一個非常具體的問題。Django:在視圖中獲取自定義標籤輸出

我寫了一個特殊的模板標籤來顯示一些基於一些計算的HTML代碼的和平。標籤調用如下:

{% chord 'A' %} 

而產生的輸出是

<div class="chord">A <audio src="/media/chords/A/A.mp3" controls>Not supported</audio></div> 

一切工作正常,但我來到階段,我需要把一個變量這裏面輸出在我看來,不在模板。它有可能嗎?有沒有一種方法,我可以從視圖中調用,以獲得具有給定參數的自定義標籤輸出?

回答

3

好吧,你可以只定義模板字符串您的視圖中,並使其:

tpl = Template("{% load chord %}{% chord 'A' %}") 
html = tpl.render(Context()) 

,但更好的方法可能僅僅是爲中的代碼的邏輯提取到一個實用的功能,可以調用無論是從您的視圖還是從模板標籤本身。

+1

謝謝你,你的答案像往常一樣最好:)你也需要「從django.template導入模板,上下文」這個工作 – 2010-07-07 09:34:17