2009-03-01 92 views
4

我想做到以下幾點:如何測試使用django模板塊?

{% if appnav %} 
<hr /> 
<div id="appnav"> 
    <ul class="tabs"> 
     {% block appnav %}{% endblock %} 
    </ul> 
</div> 
{% endif %} 

...然而,通過模板測試本使用塊的進一步下跌的繼承鏈似乎並沒有工作。

有沒有其他的條件可以做到這一點?

回答

4

模板語言不提供您正在尋找的內容。子模板可以調用{{ block.super }}的父塊,但父模板不能引用子模板。

你最好打賭可能會寫一個自定義模板標籤。模板手冊中有兩個部分可供審閱。

首先,Parsing until another block tag。這會給你如何解析的基礎知識。

二,Parsing until another block tag and saving contents。通過在自定義標籤中放置塊標籤,您可以檢測內容並在適當時包裝它。這應該工作,因爲我相信內部塊標記將被首先解析。如果這不起作用,請將由django提供的現有塊模板標記子類化以實現您的特殊魔力。

+0

謝謝......我需要做一些工作和學習,按照你的規定提出答案。 再次感謝。 – 2009-03-11 00:34:03