Как сделать так, чтобы моя пагинация отображалась в шаблоне Django? - PullRequest
0 голосов
/ 26 мая 2020

Всем доброго времени суток. Я хочу добавить нумерацию страниц на мою домашнюю страницу ('index. html'). Я следовал документации Django для разбивки на страницы, но я добавил к ней разбиение на страницы Bootstrap, чтобы придать ей красивый вид.

Однако это действительно отображается на моей домашней странице.

Здесь - это индекс. html код

<div class="row">
            <div class="col-md-12">
                {% if post.has_other_pages %}
                    <ul class="pagination">
                        {% if post.has_previous%}
                            <li class="page-item">
                                <a href="?page={{post.previous_page_number}}" class="page-link">&laquo;
                                </a>
                            </li>
                        {% else %}
                            <li class="page-item disabled">
                                <a class="page-link">&laquo;</a>
                            </li>
                        {% endif %}
                        {% for i in post.paginator.page_range %}
                            {% if post.number == i %}
                                <li class="page-item active">
                                    <a class="page-link">{{i}}</a>
                                </li>
                            {% else %}
                                <li class="page-item">
                                    <a href="?page={{i}}"class="page-link">{{i}}</a>
                                </li>
                            {% endif %}
                        {% endfor %}
                        {% if post.has_next%}
                            <li class="page-item">
                                <a href="?page={{post.next_page_number}}" class="page-link">&raquo;
                                </a>
                            </li>
                        {% else %}
                            <li class="page-item disabled">
                                <a class="page-link">&raquo;</a>
                            </li>
                        {% endif %}
                    </ul>
                {% endif %}
            </div>

    </div>

Это часть, которая содержит разбиение на страницы. Вот мой views.index

def index(request):
    post = Post.objects.all()
    paginator = Paginator(post, 3)
    page = request.GET.get('page')
    page_post = paginator.get_page(page)

    context = {
        'post': page_post
    }
    return render(request, 'blog/index.html', context)

Что я делаю не так, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Я исправил это, разместив около 6 статей из бэкэнда вместо трех (которые у меня были изначально), так как я хочу отображать только 3 статьи на странице. При сохранении этого и повторном запуске моего сервера разбивка на страницы сработала.

0 голосов
/ 26 мая 2020

Вы не ошиблись. Но bootstrap только для просмотра. Так что хорошей практикой является отправка всех бизнес-материалов, будь то разбивка на страницы или что-то еще, они должны исходить с сервера. В моем предложении лучше использовать нумерацию страниц django. В случае, если у вас большой объем данных, ваше приложение будет go медленно обрабатывать такие большие данные.

...