我正在尝试在我的项目中使用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中的结果相同。
我做错了什么?
答案 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
。