2010-07-20 56 views
4

我知道傳遞上下文給模板,但是我對給定的情況下有點糊塗了,請大家幫忙Django:如何傳遞上下文?

X類:

id: 

name: 

status: 

類主營:

number1: object of X 

number2: object of X 

message: "Hello World!" 

我得到的對象它有兩個X對象,但具有不同的上下文。 我想爲X編寫一個模板並傳遞不同的conetext以實現代碼的可用性和可維護性。

,所以我試圖做這在我的演講邏輯,在那裏我有主要

<div class="ui-tabs-panel" id="tab-results"> 
    {% include "render/objectX.html" %} 
    </div> 

objectX.html對象是:

{% block content %} 
<div id="d"> 
<table id="c"> 
    <tbody> 
    <tr> 
    <td>id : {{ x.id }}</td> 
    <td>name : {{ x.name }}</td> 
    </tr> 
    </tbody> 
</table> 
</div> 
{% endblock %} 

我怎麼能傳遞Main.number1(對象的X)明確地模板??

謝謝

回答

5

一個簡單的方法是將包裝用{% with %}模板標籤中包含。例如,假設你在你的背景有main

<div class="ui-tabs-panel" id="tab-results"> 
    {% with main.number1 as x %} 
     {% include "render/objectX.html" %} 
    {% endwith %} 
</div> 

這將使number1對象到上下文命名x變量,它可以在包括模板中使用。

+0

這是完美的使用這樣的

{% include "render/objectX.html" with x=main.number1 %} 

,謝謝 – daydreamer 2010-07-20 20:39:55