我知道在使用
从另一个模板中包含一个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上搜索一个{% with ... %}
模板标签,但到目前为止还没有找到任何。
这个Django片段有点解决了我的问题:http://djangosnippets.org/snippets/1860/但我希望能够设置上下文变量,而不是在我的小部件HTML中定义{% localblock step_ready_js %}{% endlocalblock %}
。