在 Django 中订购无限滚动帖子

时间:2021-02-28 20:15:28

标签: python django

我在尝试实现无限滚动功能时遇到了困难:(。问题是它以错误的方式对帖子进行排序。例如,如果我有帖子 1 2 3 4 5,它会按以下顺序对它们进行排序:1 3 4 5 2. 如果我尝试颠倒它们的顺序,它确实是 5 3 2 1 4。出于某种原因,它将第二个元素放在最后。 这很奇怪,我不知道为什么会这样。

这是我的观点:

class index(ListView):

    model = Post
    template_name = "index.html"
    context_object_name = 'posts'
    paginate_by = 2
    ordering = ['pub_date']

模板:

{% for post in posts %}

<div class="infinite-container">
    <div class="infinite-item">
        {{ post.author.first_name }}
        {{ post.description }}
    </div>
</div>

{% endfor %}

{% if page_obj.has_next %}
    <a href="?page={{ page_obj.next_page_number }}" class="infinite-more-link"></a>
{% endif %}

<script>
    var infinite = new Waypoint.Infinite({
        element: $('.infinite-container')[0],
        offset: 'bottom-in-view',
    });
</script>

此外,当我将 paginate_by 的值更改为 3 时,它会执行 1 4 5 2 3

1 个答案:

答案 0 :(得分:0)

我太笨了。问题是 for 循环需要在无限容器内...