我将如何在Django中实现下一页

时间:2019-03-07 17:02:47

标签: python django web

因此,我正在创建一个Web应用程序,我有一个部分可以通过视图从数据库中获取数据,我想知道数据是否超过100,例如,配置文件是否有实现下一页按钮的方法?配置文件,例如将其限制为每页5个配置文件。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:3)

是:)只需使用Django分页。

https://docs.djangoproject.com/en/2.1/topics/pagination/#example这是一个非常简单的示例,您可以这样做

答案 1 :(得分:0)

Django Side:

from django.core.paginator import Paginator

from django.shortcuts import render


def viewprofile(request):

   profile_details = Profile.objects.all()

   paginator = Paginator(profile_details, 5) # So limited to 5 profiles in a page


   page = request.GET.get('page')

   profile= paginator.get_page(page) #data

   return render(request, 'profile.html', {'profiles': profile}

现在我们可以在html页面中访问它:

  {% for profile in profiles %}
      {# Here we can display profile details  #}
  {% endfor %}

<div class="pagination">
    <span class="step-links">
        {% if profiles.has_previous %}
            <a href="?page=1">&laquo; first</a>
            <a href="?page={{ profiles.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ profiles.number }} of {{ profiles.paginator.num_pages }}.
        </span>

        {% if profiles.has_next %}
            <a href="?page={{ profiles.next_page_number }}">next</a>
            <a href="?page={{ profiles.paginator.num_pages }}">last &raquo;</a>
        {% endif %}
    </span>
</div>