Как бы я реализовать следующую страницу в Django - PullRequest
0 голосов
/ 07 марта 2019

Итак, я создаю веб-приложение, и у меня есть раздел, где я получаю данные из базы данных через представление, мне было интересно, если данные превышают 100, например, профили, есть ли способ реализовать кнопку следующей страницы, которая продолжает например, профили ограничивают до 5 профилей на страницу.

любая помощь будет высоко ценится

Ответы [ 2 ]

3 голосов
/ 07 марта 2019

Да :) Просто используйте django нумерацию страниц.

https://docs.djangoproject.com/en/2.1/topics/pagination/#example это очень простой пример того, как вы можете сделать это

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

Сторона Джанго:

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...