是否可以使用Django将列表传递到包含变量中?

问题描述

我正在尝试创建一个可重复使用的子模板以用于我的页面,如下所示:

<div>
  <h1>{{ heading }}</h1>
  <p>{{ copy }}</p>
  <ul>
    {% for list_item in list %}
    <li>{{ list_item }}</li>
    {% endfor %}
  </ul>
</div>

但是,我想知道是否可以将列表传递到包含中?也许像这样吗?

{% includes 'template.html' with list="['list_item1','list_item2']" %}

解决方法

如果要在许多页面上使用具有相同数据的变量,则可能要使用上下文处理器。如果您要查找列表,可以使用zip()作为返回。

context_processors.py(在正确的应用文件夹中)

def extras(request):
    var1 = item1
    var2 = item2
    
zipped_vars = zip(var1,var2)
return {'zipped_vars': zipped_vars}