Django:如何传递上下文?

day*_*mer 4 django django-templates

我知道将上下文传递给模板,但我对给定的场景感到困惑,请帮忙

X级:

id:

name:

status:
Run Code Online (Sandbox Code Playgroud)

班级主要:

number1: object of X

number2: object of X

message: "Hello World!"
Run Code Online (Sandbox Code Playgroud)

我得到了Main of Object,它有两个X对象,但有不同的上下文.我想为X编写一个模板,并将不同的conetext传递给它,以实现代码的可用性和可维护性.

所以我试图在我的演示逻辑中这样做,我有Main的对象

<div class="ui-tabs-panel" id="tab-results">
    {% include "render/objectX.html" %}
  </div>
Run Code Online (Sandbox Code Playgroud)

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 %}
Run Code Online (Sandbox Code Playgroud)

如何将Main.number1(X的对象)显式传递给模板?

谢谢

rob*_*son 5

一种简单的方法是使用{% with %}模板标记包装include .例如,假设您main在上下文中:

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

这会将number1对象作为变量命名放入上下文中x,该变量可以在包含的模板中使用.