【问题标题】:django - load more on scroll - i have pagination, how do i load more?django - 在滚动上加载更多 - 我有分页,我如何加载更多?
【发布时间】:2013-08-16 22:13:28
【问题描述】:

我想编写一个代码,当我到达页面底部时从 db 获取更多数据。

我有这个views.py:

locations = Location.objects.filter(**s_kwargs).distinct('id')
paginator = Paginator(locations, 10)
if  request.GET.get('page'):
   locs = paginator.page(request.GET.get('page'))
else:
   locs = paginator.page(1)
data['locs'] = locs
return render_to_response("result.html",data,context_instance=RequestContext(request)) 

这是我用于检测页面底部的 js:

 $(window).scroll(function () {
  if ($(document).height() <= $(window).scrollTop() + $(window).height()) {
    alert("start loading more data");//<--- load more data from db. 
  }
 });

我一头雾水,不知道该怎么做,分页器让我很困惑。我如何从数据库中获取下一个数据?如何将新数据附加到 html 中的现有数据?我需要你的指导

【问题讨论】:

    标签: jquery python django pagination


    【解决方案1】:

    您似乎想在 javascript 中为下一页发出 AJAX 请求。在你的views.py 中,你会想做类似的事情

    return HttpResponse(json.dumps(data), mimetype="application/json")
    

    而不是像现在这样返回 HTML 页面。 (如果您还需要该控制器来提供原始页面,也许您可​​以有一个可选的查询参数,告诉服务器提供 JSON 响应而不是通常的 HTML。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-02
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多