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