2

我试图在我的项目中使用 django-endless-pagination,但结果似乎没有使用 AJAX。我的目标是类似于 twitter 的分页,您向下滚动并列出更多元素而无需刷新页面。

这是我的视图代码:

@page_template('ajax_test_page.htm')
def ajax_test(request, template='ajax_test.htm', extra_context=None):
    context = { 'dreams': Dream.objects.all() }
    if extra_context is not None:
        context.update(extra_context)
    return render_to_response(template, context, context_instance=RequestContext(request))

这是 ajax_test.html:

<!DOCTYPE html>
{% block js %}
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="{{ STATIC_URL }}endless_pagination/js/endless-pagination.js"></script>
<script>$.endlessPaginate({
    paginateOnScroll: true,
    paginateOnScrollMargin: 20
    });
</script>
{% endblock %}

<h2>Ajax Test</h2>
{% include page_template %}

这是 ajax_test_page.htm:

{% load endless %}

{% paginate dreams %}
<div>
{% for dream in dreams %}
    Dream title: {{ dream.title }}<br>
{% endfor %}
</div>
{% show_more %}

我得到的结果与使用 Django 的内置分页器没有什么不同。我看到一个包含十个条目的列表和一个“更多”链接;当我单击“更多”链接时,我被带到“/ajax_test/?page=2”,这涉及刷新整个页面(而不是附加一组新条目),这不是我想要做的。尽管设置了标志,滚动到底部也没有效果。

我什至在浏览器中完全禁用了 javascript,它并没有改变任何东西,这表明 javascript 出于某种原因完全被忽略了。Chrome 和 Firefox 中的结果相同。

我究竟做错了什么?

4

2 回答 2

2

我遇到了同样的问题。你必须endlessPaginate

$(document).ready(function() {
    $.endlessPaginate({
        paginateOnScroll: true,
        paginateOnScrollMargin: 20
    });
});

我们将尽快修复文档

于 2013-05-29T11:12:33.300 回答
1

我不确定,但不是

{{ STATIC_URL }}endless_pagination/js/endless-pagination.js

尝试使用此表格

{% static "endless_pagination/js/endless-pagination.js" %}

python manage.py collectstatic在重新启动服务器之前不要忘记运行。

于 2013-05-02T14:01:58.990 回答