【问题标题】:Django why the pagination is not working?Django为什么分页不起作用?
【发布时间】:2019-05-26 18:24:20
【问题描述】:

抱歉,这个问题很愚蠢。我正在阅读名为 build django 2 web application 的书中的教程。我进入了分页主题,但我不明白为什么即使我仔细复制粘贴它也不起作用。

{% if is_paginated %}
<nav>
  <ul class="pagination">
    <li class="page-item">
      <a href="{% url 'core:MovieList'%}?page=1" class="page-  link">First</a>
    </li>
    {% if page_obj.has_previous %}
      <li class="page-item">
        <a href="{% url 'core:MovieList' %}?page={{page_obj.previous_page_number}}" class="page-link">{{page_obj.previous_page_number}}</a>
      </li>
    {% endif %}
    <li class="page-item active">
      <a href="{% url 'core:MovieList' %}?page={{page_obj.number}}" class="page-link">{{page_obj.number}}</a>
    </li>
    {% if page_obj.has_next %}
      <li class="page-item">
        <a href="{% url 'core:MovieList' %}?page={{page_obj.next_page_number}}" class="page-link">{{page_obj.next_page_number}}</a>
      </li>
    {% endif %}
    <li class="page-item">
      <a href="{% url 'core:MovieList' %}?page={{paginator.num_pages}}" class="page-link">Last</a>
    </li>
  </ul>
</nav>
{% endif %}

#View
class MovieListView(ListView):
    model = Movie
    template_name = 'movie_list.html'

【问题讨论】:

  • 你能展示一下你的观点吗?

标签: django pagination


【解决方案1】:

你没有在视图类中设置paginated_by属性,所以内容不会分页。

class MovieListView(ListView):
    model = Movie
    template_name = 'movie_list.html'
    paginate_by = 5

【讨论】:

  • @daniel_roseman 设置分页值后不需要使用queryset = Product.objects.all()
  • 不,你只需要设置查询集,如果它不同于Model.objects.all()。
猜你喜欢
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多