Невозможно разбить на страницы object_list с помощью django-pagination - PullRequest
1 голос
/ 27 декабря 2011

Я использую django-pagination , чтобы разбить список объектов в моем шаблоне. Я установил приложение, добавил его в свой проект и добавил pagination.middleware.PaginationMiddleware в мой settings.py файл. Но когда я пытаюсь использовать его в своем шаблоне, object_list не равен paginated. Вот мой код шаблона

{% extends "base.html" %}

    {% load pagination_tags %}
    {% autopaginate Questions %}

    {% block title %}
        Questions
    {% endblock %}


    {% block content %}
        <div id="contentDiv">

            {% for question in Questions %}
                <div style="padding:5px 20px 5px 30px;">

                    <p class='question'><span id='style2'>Q
                        <a href="{{ question.get_absolute_url }}" style="text-decoration:none; color:black;"> </span> {{ question.questiontext|safe }} </a> 
                        <span style= 'float:right;'><span style='font-size:12px; color:#099;'><a href="/question/type={{question.type}}" 
                        style='font-size:12px; color:#099;'>{{question.type}}</a></span> <span style='color:#99C; font-size:12px;'>Level: </span><span style='color:#099;font-size:12px;'>{{question.level}}</a></span></span>
                    </p>

                    <h2 class='trigger1' ><a href='#'>Answer</a></h2>
                    <div class='toggle_container' >
                        <div class='block' style='background-color:#fff; '>
                            <p class='ans'> {{ question.answer|safe }} </p>
                        </div>
                    </div>

                </div>
            {% endfor %}

            <div class="pagination" style="width:1000px; margin:auto; margin-bottom:20px;">
                {% paginate %}
            </div>

        </div>

{% endblock %}

Список объектов в context_variable называется Questions. Я что-то не так делаю?

Ответы [ 3 ]

2 голосов
/ 14 января 2012

Через очень долгое время я смог обнаружить ошибку, которую я имел с django-pagination. У меня был канонический базовый шаблон, который я распространял на все страницы.

В документации написано, что мы требуем поставить {% paginate %} после {% autopaginate object_list %}, но не там, где было написано о размещении {% autopaginate object_list %}.

В моем шаблоне были блоки title и body, и я помещал {% autopaginate object_list %} чуть ниже {% extends "base.html" %}, и в результате он не работал. Я обнаружил, что должен был поместить это утверждение в body block, и теперь оно работает абсолютно нормально.

0 голосов
/ 17 марта 2016

Решено, как сказал Сачин выше: Я только что переместил {% load pagination_tags%} {% autopaginate list_objs 10%} внутри оператора {% block content%} (ранее он был вне его, поэтому разбиение на страницы было невидимым. Если ошибок нет, а теперь страницы - попробуйте поиграть с ним (перемещение блока разбиения на страницы).

0 голосов
/ 28 декабря 2011

Можете ли вы увидеть содержимое вашего div нумерации страниц, если напишите «Привет, я хочу гамбургер» или что-нибудь еще там?

Вы уверены, что у вас достаточно вопросов для разбивки на страницы?Вы можете попробовать что-то вроде:

    {% autopaginate Questions 2 %}

, чтобы убедиться, что вы будете разбивать страницы на 2 вопроса / страницу.

...