gpt4 book ai didi

python - Django Listview - 过滤和分页

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:10 25 4
gpt4 key购买 nike

我是 Django 新手。我正在尝试创建两个表,第一个表包含按发布日期过滤的最新添加的产品,第二个表包含按发布日期过滤的即将推出的产品。这是我的 homepage.html 代码:

...
{% for prodotto in products %}
<tr>
<td>{{ prodotto.title }}</td>
<td>{{ prodotto.description }}</td>
<td>{{ prodotto.publication_date|date:"d/m/Y" }}</td>
<td>{{ prodotto.release_date|date:"d/m/Y" }}</td>
</tr>
{% endfor %}

...

...
{% for prodotto in products %}
<tr>
<td>{{ prodotto.title }}</td>
<td>{{ prodotto.description }}</td>
<td>{{ prodotto.publication_date|date:"d/m/Y" }}</td>
<td>{{ prodotto.release_date|date:"d/m/Y" }}</td>
</tr>
{% endfor %}

这里是我的model.py:

class Products(models.Model):
...
title = models.CharField(max_length=100)
publication_date = models.DateTimeField(auto_now_add=True)
description = models.CharField(max_length=1000)
slug = models.SlugField(unique=True)
release_date = models.DateTimeField()
...

这是我的view.py:

class home(ListView):
queryset = Products.objects.all()
template_name = 'homepage.html'
context_object_name = "products"

目前我只能显示所有产品而不进行过滤。我也尝试仅在第一个表中添加分页,但我不知道如何在我的 homepage.html 中过滤和添加分页。

我尝试通过将 paginate_by = 5 添加到 view.py 中来添加分页,但使用此方法,它会在两个表中添加分页。

最佳答案

您可以直接在模板中执行此操作:

{% for prodotto in products|slice:":5" %}
<tr>
<td>{{ prodotto.title }}</td>
<td>{{ prodotto.description }}</td>
<td>{{ prodotto.publication_date|date:"d/m/Y" }}</td>
<td>{{ prodotto.release_date|date:"d/m/Y" }}</td>
</tr>
{% endfor %}

关于python - Django Listview - 过滤和分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55325566/

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