Django - Как добавить нумерацию страниц в detailview - PullRequest
0 голосов
/ 28 марта 2019

Я студент и новичок в Джанго.Как добавить пагинацию в детальном представлении класса?

вот мои views.py

class AuthorDetailView(NeverCacheMixin, generic.DetailView):
model = Author
paginate_by = 1

и использованный мной код пагинации, который не работает.

{% if is_paginated %}

          {% if page_obj.has_previous %}
            <a class="btn btn-outline-dark mb-4" href="?page={{ page_obj.previous_page_number }}">Previous</a>
          {% endif %}

          {% for num in page_obj.paginator.page_range %}
            {% if page_obj.number == num %}
              <a class="btn btn-dark mb-4" href="?page={{ num }}">{{ num }}</a>
            {% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
              <a class="btn btn-outline-dark mb-4" href="?page={{ num }}">{{ num }}</a>
            {% endif %}
          {% endfor %}

          {% if page_obj.has_next %}
            <a class="btn btn-outline-dark mb-4" href="?page={{ page_obj.next_page_number }}">Next</a>
          {% endif %}

            {% endif %}

Ответы [ 2 ]

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

Ваша проблема в первой строке шаблона {% if is_paginated %}: вы, кажется, не передаете эту переменную в контекст шаблона. См. Документы Paginator .

И еще одна вещь: в «1006» нет «нумерации страниц», вы должны использовать ListView .

В состоянии покоя вы в значительной степени прибили его.

Подробнее о документе Джанго .

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

Вы должны создать подкласс ListView, а не DetailView, и переопределить get_queryset, чтобы получать лекции от партнера. Вы также можете добавить объект Partner в get_context_data, если вам это нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...