2010-07-20 3 views
4

Я знаю о передаче контекста к шаблонам, но я немного запутался с данным сценарием, пожалуйста, помогитеDjango: Как передать контекст?

класс X:

id: 

name: 

status: 

Класс Main:

number1: object of X 

number2: object of X 

message: "Hello World!" 

Я получаю объект Main, который имеет два объекта X, но с разными контекстами. Я хочу написать один шаблон для X и передать ему другой conetext для удобства использования кода и ремонтопригодности.

так что я пытаюсь сделать это в моей логике представления, где у меня есть объект Main

<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

Это было прекрасно, спасибо – daydreamer

Смежные вопросы