我知道将上下文传递给模板,但我对给定的场景感到困惑,请帮助
第X类:
id:
name:
status:
班级主要:
number1: object of X
number2: object of X
message: "Hello World!"
我得到了Main of Object,它有两个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的对象)显式传递给模板?
谢谢
答案 0 :(得分:5)
一种简单的方法是使用{% with %}
模板标记包装include。例如,假设您的上下文中有main
:
<div class="ui-tabs-panel" id="tab-results">
{% with main.number1 as x %}
{% include "render/objectX.html" %}
{% endwith %}
</div>
这会将number1
对象作为名为x
的变量放入上下文中,该变量可以在包含的模板中使用。
答案 1 :(得分:2)
或者您可以像这样使用它
{% include "render/objectX.html" with x=main.number1 %}
根据django documention https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#include