在 Django 中显示数据

Displaying data in Django

我有一个视图显示我的数据中的所有对象,我在模板中使用 {% for object in objects %} 标签这样做。但是我认为当它被转换为 html 时,每个对象都会被 <p> 标签包围?但问题是我想将对象成对显示两个。不是 1 个元素的垂直列表。我怎样才能循环遍历 Django 中的数组并能够自定义它们的布局位置?任何帮助,将不胜感激!

没有用于连续配对对象的内置模板标签,因此您有两个选择;您可以编写自己的模板标签,将 (a, b, c, d) 之类的对象列表转换为 双元素 元组列表,例如 ((a, b), (c, d)),或者创建两对您在呈现模板之前的视图。

import itertools

def object_list(request):
    ...
    iterator = iter(objects)
    pairs = itertools.izip_longest(*(iterator, iterator))
    return render(request, 'objects/object_list.html', {'objects': objects, 'pairs': pairs})

在您的模板中,您可以按如下方式迭代对;

{% for first, second in pairs %}
  <p>{{first}}, {{second}}</p>
{% endfor %}
...

希望这能帮助您解决问题。