Django Listview - фильтр и разбиение на страницы - PullRequest
1 голос
/ 24 марта 2019

Я новичок в Джанго. Я пытаюсь создать две таблицы: первая с последним добавленным фильтром товаров по публикациям и вторая с последующим фильтром товаров по выпуску. Вот мой 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, но с помощью этого метода он добавляет нумерацию страниц в обеих таблицах.

1 Ответ

0 голосов
/ 24 марта 2019

Вы можете сделать это прямо в вашем шаблоне:

{% 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 %}
...