gpt4 book ai didi

django - 将一个查询集渲染为 2 个 div 列(django 模板)

转载 作者:行者123 更新时间:2023-12-02 03:36:54 26 4
gpt4 key购买 nike

是否有一种好方法将查询集的枚举呈现为两个 div 列?

使用 960 网格,我得到了一些效果......

<div class="container_16">
<div class="grid_8 alpha"></div>
<div class="grid_8 omega"></div>
</div>

在 Django 中,一个模型需要在这两列中呈现其枚举内容,并且最好是同等呈现。目前,我有一些丑陋的代码,在 View 中将 QuerySet 分成两半,然后每一半都呈现在各自的列中。

一定有更好的方法来做到这一点,最好只使用模板渲染系统?

仅供引用,目前它的“工作原理”如下:

views.py
@render_to('template.html')
def main_athletics_page(request, *args, **kwargs):
sports = Sport.objects.all()
half = sports.count() / 2
return { 'sports_1' : sports[0:half], 'sports_2' : sports[half:] }

模板.html

<div class="grid_8 alpha">
{% for sport in sports_1 %}
<!-- Blah blah -->
{% endfor %}
</div>

<div class="grid_8 omega">
{% for sport in sports_2 %}
<!-- Blah blah -->
{% endfor %}
</div>

最佳答案

我建议使用Django filters .

Django 片段提供了 partitioning template filter ,您可以这样使用:

{% load listutil %}

<div class="grid_8 alpha">
{% for sport in sports|partition:"2"|first %}
<!-- Blah Blah -->
{% endfor %}
</div>

<div class="grid_8 omega">
{% for sport in sports|partition:"2"|last %}
<!-- Blah Blah -->
{% endfor %}
</div>

关于django - 将一个查询集渲染为 2 个 div 列(django 模板),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com