我想知道是否有一种方法可以在Django模板中的include语句中包含变量。例如,如果对一组对象进行for循环,并且只想加载与这些对象相关的模板(例如,下面的示例)。
{% for app in apps %}
<div class="modal fade hidden" id="myModal_{{ app.id }}">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Add {{ app.title }}</h3>
</div>
<div class="modal-body">
<form class="bs-docs-example form-horizontal">
{% include "app_templates/{{ app.title }}/modal-config.html" %}
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="add-app-btn btn btn-primary" data-appid="{{ app.id }}">Add</button>
</div>
</div>
{% endfor %}
或者有更好的方法可以做到这一点。感谢。
答案 0 :(得分:1)
你可以这样做:
{% with template_name="app_templates/"|add:app.title|add:"/modal-config.html" %}
{% include template_name %}
{% endwith %}
我不确定这可能会起作用:
{% include "app_templates/"|add:app.title|add:"/modal-config.html" %}.
但在这种情况下,我宁愿制作一个模板标签或过滤器,以便将此逻辑封装在远离模板的位置。