如何在python中解决此分页器问题

在我看来,我将分页功能定义为每页仅显示2个帖子,但事实是,每次我在底部添加一个新帖子时,分页都会发生变化,但仍然显示所有帖子,而不是两个将共享我的代码,以便您检查我是否在做任何错误

views.py

def StockView(request,sym,):
    stock_posts = Post.objects.filter(stock__symbol=sym)
    stock_sym = get_object_or_404(StockNames,symbol = sym)
    post_list = Post.objects.filter(stock__symbol=sym)
    paginator = Paginator(post_list,2)
    page = request.GET.get('page')

    try:
        posts = paginator.page(page)
    except PageNotAnInteger:
        posts = paginator.page(1)
    except EmptyPage:
        posts = paginator.page(paginator.num_pages)

    return render(request,'app1/stockview.html',{'page':page,'posts':posts,'stocks':stock_posts,'stock_sym':stock_sym,'sym':sym })
    

models.py

class StockNames(models.Model):
    name = models.CharField(max_length=255)
    symbol = models.CharField(max_length=255)

    def __str__(self):
        return self.symbol

        
    

class Post(models.Model):
    title = models.CharField(max_length= 255)
    header_image = models.ImageField(null = True,blank = True,upload_to = 'images/')
    author = models.ForeignKey(User,on_delete=models.CASCADE)
    body = RichTextField(blank = True,null = True)
    #body = models.TextField()
    post_date = models.DateField(auto_Now_add=True)
    category = models.CharField(max_length=255,default='coding')
    snippet = models.CharField(max_length=255)
    likes = models.ManyToManyField(User,related_name = 'blog_posts')
    stock = models.ForeignKey(StockNames,null=True,on_delete = models.CASCADE)

    def total_likes(self):
        return self.likes.count()

    def __str__(self):
        return self.title + ' | ' + str(self.author)
    
    def get_absolute_url(self):
        return reverse('app1:article-detail',args=(self.id,))

urls.py

app_name = 'app1'

urlpatterns = [
    path('add_post/<str:sym>',AddPostView.as_view(),name='addpost'),path('stock/<str:sym>/',views.StockView,name = 'stock'),]

pagination.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <nav aria-label="Page navigation example">
        <ul class="pagination" >
            <li class="page-item" >
                {% if page.has_prevIoUs %}
                <a class="page-link" href="?page={{page.prevIoUs_page_number}}">PrevIoUs</a>
                

                {% endif %}
                
            </li>
            <li class="page-item">
                <a class="page-link" href="">Page {{page.number}} of {{page.paginator.num_pages}}</a>
            </li>
            <li class="page-item" >
                {% if page.has_next %}
                <a class="page-link" href="?page={{page.next_page_number}}">Next</a>
                

                {% endif %}
                
        </ul>

    </nav>
</body>
</html>

模板是我继承的分页

{% extends "app1/base.html" %}
    {% block body_block %}
    
    
    {% if stock_sym %}
    <h1> {{sym}} </h1>
    <a href ="{% url 'app1:addpost' sym %}">Add Post<span class="sr-only">(current)</span></a> 
        {% if stocks %}
    
        
        <ul>
        {% for post in stocks %}
        <li><a href="{% url 'app1:article-detail' post.pk %}">{{sym}}</a> -
            {{post.author}} - <small>{{post.post_date}}</small> - 
            {% if user.is_authenticated %}
            <small><a href="{% url 'app1:updatepost' post.pk %}">Edit</a></small><small>
            <a href="{% url 'app1:deletepost' post.pk %}">- Delete</a>  
            </small></li>
            {% endif %}
    
        {% endfor %}
        </ul>
    {% else %}
    <h1>No posts yet</h1>
    {% endif %}
    {% else %}
    <h1>hey</h1>
    {% endif %}
    {% include 'app1/pagination.html' with page=posts %}
    {% endblock %}

这是我在图片中遇到的问题,因此您可以了解我在说什么:

enter image description here

enter image description here

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...