Джанго: Как передать контекст? - PullRequest
4 голосов
/ 20 июля 2010

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

класс X:

id:

name:

status:

Класс Main:

number1: object of X

number2: object of X

message: "Hello World!"

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

поэтому я пытаюсь сделать это в своей логике представления, где у меня есть объект 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) явным образом в шаблон ??

Спасибо

Ответы [ 2 ]

5 голосов
/ 20 июля 2010

Одним простым способом было бы обернуть включение тегом шаблона {% with %}. Например, если у вас есть main в вашем контексте:

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

Это поместит объект number1 в контекст как переменную с именем x, которую можно использовать во включенном шаблоне.

2 голосов
/ 08 ноября 2015

или вы можете использовать это так

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

согласно документации Django https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#include

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...