我可以在{%include%}模板时指定多行上下文变量/参数吗?

时间:2013-01-10 09:43:52

标签: django django-templates

我知道使用

从另一个模板中包含Django模板时可以设置上下文变量
{% include "default_table.html" with table_header=table_header1 table_data=table_data1 %}

{% with "My data" as table_data %}
    {% include 'default_table.html' %}
{% endwith %}

我的问题是两种方法都不允许我定义多行变量(除非它们基于先前的多行变量)。

我的具体用例是

<!-- widget.html -->
<div class="box">
    <div class="title">{{ title }}</div>
    <div class="title">{{ body }}</div>
</div>

我希望能够为body上下文变量设置更长的文本。这将使我可以在各个地方重用常见的小部件HTML。可以这样做吗?

我一直在http://djangosnippets.org上搜索一个über{% with ... %}模板标签,但到目前为止还没有找到。

1 个答案:

答案 0 :(得分:0)

这个Django片段解决了我的问题:http://djangosnippets.org/snippets/1860/但我希望能够设置上下文变量,而不是在我的窗口小部件HTML中定义{% localblock step_ready_js %}{% endlocalblock %}