django-endless-pagination似乎并没有使用AJAX

时间:2013-04-03 02:56:05

标签: django django-endless-pagination

我正在尝试在我的项目中使用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中的结果相同。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。您必须使用

将呼叫包裹到endlessPaginate
$(document).ready(function() {
    $.endlessPaginate({
        paginateOnScroll: true,
        paginateOnScrollMargin: 20
    });
});

我们将尽快修复文档

答案 1 :(得分:1)

我不确定,而不是

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

尝试使用此表单

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

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