标签: django-endless-pagination

django无限卷轴

是否可以在向下滚动时实现facebook样式的内容加载?我想在电子商务网站中实现它.每个类别中有很多项目,类别页面变得太长.我可以实现页码,但我的客户希望我实现facebook类型的加载.有什么我可以用的吗?该网站的其余部分已经建成.

我确实研究过django-endless-pagination但是无法让它工作.有没有它的演示,以便我可以调查它?

django django-pagination django-endless-pagination

10
推荐指数
1
解决办法
5901
查看次数

如何在使用django无尽分页渲染之前进行结果后处理?

我试图弄清楚是否可以在我的查询集上进行视图后处理,然后在使用django-endless-pagination进行无限滚动的django模板中进行渲染.

我有特定于视图的逻辑,它根据上下文忽略查询集的某些结果,以及向列表中的对象添加属性以供模板使用.此逻辑不能通过SQL执行,因为它不是模型固有的.它必须在python中完成.

使用django-endless-pagination和其他预先滚动的django分页模块,所有逻辑似乎都是由模板标签执行的,从而阻止了在呈现阶段(这是一个django原则)之前执行业务逻辑的能力.

因为我的视图逻辑在模板标签执行之前运行结果集,所以我将失去此模块提供的优化(例如带有分页的SQL查询,例如限制20;偏移20).每次用户页面时,我的代码都会遍历整个未分页的结果列表,从而绕过模板标记提供的惰性分页优势.

没有直接将我的代码移入分页模块(我宁愿不这样做,并且需要在请求上下文中添加一堆额外数据以用于标记),还有其他选择吗?

谢谢!

python django pagination django-endless-pagination

8
推荐指数
1
解决办法
1222
查看次数

Django 延迟加载分页

我正在尝试使用Django Endless Pagination来实现 Twitter/Instagram 样式分页的效果,其中一旦用户滚动到页面底部,就会将新内容加载到页面上。使用上述模块,我已经能够做到这一点。但是,我有一个与性能相关的问题。我发送数据的视图仍然加载数据库中的所有行。仅在模板侧显示其中的一部分。

class IndexView(BaseAjaxViewList):
    template_name = 'polls/index.html'
    page_template = 'polls/item_index.html'
    context_object_name = 'data'
    model = Question

    def get_context_data(self,**kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)
        print(len(context["data"]))
        return context
Run Code Online (Sandbox Code Playgroud)

我认为只能从数据库访问 'n' 个项目,并且当发生滚动时会有另一个 db 调用等等,这可以提高页面的加载性能。假设页面中有 1000 个项目,那么理想情况下,我希望首先加载 50 个项目(在 1 个 db 调用中访问 50 个项目),然后一旦用户滚动并到达页面底部,然后再加载 50 个项目应该被访问和显示。但是,我尝试在场景下进行检查,似乎所有 1000 次调用都是使用此模块同时进行的。仅在模板端,一次显示 50 个。这是真的?是否有任何 django 模块可以做到这一点,或者我必须编写自己的 ajax 调用等?

参考模板如下:

主要模板

 <h2>Polls:</h2>
    {% include page_template %}

    {% block js %}
        {{ block.super }}
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <script src="{% static 'endless_pagination/js/endless-pagination.js' %}"></script>
        <script>$.endlessPaginate();</script>
    {% endblock %} …
Run Code Online (Sandbox Code Playgroud)

python django jquery pagination django-endless-pagination

5
推荐指数
1
解决办法
2183
查看次数

无限的分页在滚动时加载整个页面内容

我正在尝试使用django-endless-pagination在滚动上实现连续分页.

页面的初始渲染工作正常.但是,滚动后,整个 html页面内容将加载到endless_page_template div中,而不是page_template中所需的部分html内容.结果有点像在镜子里面反射另一面镜子.我相信返回的查询集是正确的,因为在不尝试使用"paginateOnScroll"时分页结果是正确的.

我的观点的相关部分如下.我正在使用CreateView,因为我在与分页注释相同的页面上有注释表单.

class MyIndex(CreateView):
    form_class = CommentForm
    template_name = 'my/index.html'
    page_template = 'my/comments.html'

    def get_context_data(self, **kwargs):
        context = super(MyIndex, self).get_context_data(**kwargs)
        context.update({
            'comments': Comment.objects.order_by('-id').filter(parent=None),
            'page_template': self.page_template,
        })

        return context
Run Code Online (Sandbox Code Playgroud)

我/ index.html模板的相关部分(主模板)

<script src="{% static 'endless_pagination/js/endless-pagination.js' %}"></script>
<script type="text/javascript">
    $.endlessPaginate({
        paginateOnScroll: true
    });
</script>

<div class="endless_page_template">
    {% include page_template %}
</div>
Run Code Online (Sandbox Code Playgroud)

我/ comments.html的相关部分(page_template)

{% load endless %}

{% paginate comments %}
{% for comment in comments %}
    <span class="lead">{{ comment.name }}</span>
    {{ comment.message}}

    {% …
Run Code Online (Sandbox Code Playgroud)

django infinite-scroll django-endless-pagination

2
推荐指数
1
解决办法
1370
查看次数

Django Endless Pagination中的反向分页顺序

Django Endless Pagination的默认分页(对我来说非常适合)首先显示最旧的对象,然后通过较新的对象进行描述,即最后一页包含最新的对象.我正在尝试使用它来分页评论,并希望首先显示最新的评论,然后通过较旧的评论(如在Facebook上).对我而言,这似乎是一个非常标准的要求,但我找不到任何解决方案.任何帮助,将不胜感激.

django pagination django-comments django-pagination django-endless-pagination

1
推荐指数
1
解决办法
788
查看次数