Перестала работать пагинация на приложении Django - PullRequest
1 голос
/ 27 апреля 2020

Я новичок в Django, и я только что взял книгу "Django 2 на примере". Я следовал всему коду в учебнике, но что-то нарушило нумерацию страниц, и я просто не могу понять, что это такое. Я получаю вывод "Страница из." вместо "Страница 1 из 1. в основании моего блога. Найдите часть моего кода ниже: PS: Пожалуйста, игнорируйте отступ в коде. Спасибо.

Views.py

 from django.shortcuts import render, get_object_or_404
 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
 from django.views.generic import ListView
 from django.core.mail import send_mail
 from django.db.models import Count
 from taggit.models import Tag
 from .models import Post, Comment
 from .forms import EmailPostForm, CommentForm



 def post_list(request, tag_slug=None):
    object_list = Post.published.all()
    tag = None`

    if tag_slug:
    tag = get_object_or_404(Tag, slug=tag_slug)
    object_list = object_list.filter(tags__in=[tag])

    paginator = Paginator(object_list, 3) # 3 posts in each page
    page = request.GET.get('page')
    try:
         posts = paginator.page(page)
    except PageNotAnInteger:
    # If page is not an integer deliver the first page
         posts = paginator.page(1)
    except EmptyPage:
    # If page is out of range deliver last page of results
         posts = paginator.page(paginator.num_pages)
    return render(request,
              'blog/post/list.html',
              {'page': page,
               'posts': posts,
               'tag' : tag})

список. html

{% extends "blog/base.html" %}

{% block title %}My Blog{% endblock %}

{% block content %}
 <h1>My Blog</h1>
 {% if tag %}
 <h2>Posts tagged with "{{ tag.name }}"</h2>
 {% endif %}
 {% for post in posts %}
 <h2>
  <a href="{{ post.get_absolute_url }}">
    {{ post.title }}
  </a>
 </h2>
 <p class="tags">
  Tags:
  {% for tag in post.tags.all %}
    <a href="{% url "blog:post_list_by_tag" tag.slug %}">
      {{ tag.name }}
    </a>
    {% if not forloop.last %}, {% endif %}
  {% endfor %}
</p>
<p class="date">
  Published {{ post.publish }} by {{ post.author }}
</p>
{{ post.body|truncatewords:30|linebreaks }}
 {% endfor %}
 {% include "pagination.html" with page=page_obj %}
{% endblock %}

Нумерация страниц. html (шаблон)

<div class="pagination">
     <span class="step-links">
       {% if page.has_previous %}
        <a href="?page={{ page.previous_page_number }}">Previous</a>
       {% endif %}
       <span class="current">
         Page {{ page.number }} of {{ page.paginator.num_pages}}.
       </span>
         {% if page.has_next %}
            <a href="?page={{ page.next_page_number }}">Next</a>
         {% endif %}
      </span>
</div>
...