在Facebook中,當我們向下滾動時,它會一個接一個地加載帖子。我如何在Django中做到這一點?我還需要使用什麼?如何在瀏覽頁面時加載一些對象
將視圖中所有必需的對象傳遞給模板是不是很好的做法,這樣不會花費太多時間?
在Facebook中,當我們向下滾動時,它會一個接一個地加載帖子。我如何在Django中做到這一點?我還需要使用什麼?如何在瀏覽頁面時加載一些對象
將視圖中所有必需的對象傳遞給模板是不是很好的做法,這樣不會花費太多時間?
A的總體概述這個過程可能是如何工作的:
recievedMore
,這個功能作爲回調提供給AJAX調用。load_more
視圖使用AJAX請求中的信息將QuerySet過濾爲將顯示的下一組圖像。該視圖使用過濾的QuerSet來呈現HTML的片段,並將其作爲對AJAX請求的響應返回。recievedMore
函數。 recievedMore
函數將響應附加到頁面上的適當元素。使用在客戶端的Infinite Scrolling庫和JQuery使得實施這一容易得多。
Django Pagination也是相關的。
可以使用infinite scroll
它是一個jQuery插件,使Ajax請求 - 並把響應在其位置在標記
Django的通用ListView控件支持分頁開箱
使用它像這樣:
import models
from django.views.generic import ListView
class ObjectListView(ListView):
model = SomeModel
template_name = 'app/model_list.html'
context_object_name = "objects"
paginate_by = 10
現在
在您的模板:
檢查是否有項目的下一頁S使用: page_obj.has_previous
再喂這個URL無限滾動: ?page={{ objects.next_page_number }}
你在找什麼叫「無限滾動」,並需要JavaScript。在Django中,創建兩個模板和相關的控制器 - 一個生成整個頁面,另一個生成「更多」的文章。當用戶向底部滾動時,ajax調用可以獲取這些「更多」的帖子(使用最後一個位置作爲「從哪裏開始」索引)並將它們附加到作爲您的發佈容器的DIV。 – 2013-03-15 22:04:23