首页 > 解决方案 > 是否可以使用 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']" %}

标签: htmldjangotemplatestemplating

解决方案


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

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

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

推荐阅读