django 實現滾動加載的功能

 正在用django做一個社區網站  notewo.com ,其實想到要實現像google+ 那樣的滾動加載功能。一直在想怎麼做纔好。

現在整理出來的步驟如下:

第一步、實現django的分頁功能。

 

  1. vim views.py 
  2. from django.core.paginator import Paginator,InvalidPage,EmptyPage 
  3.  
  4.  
  5. def myBlog(request): 
  6.     form = PostForm(request.POST) 
  7.     commentform = CommentForm() 
  8.      
  9.     posts_list  = Blog.objects.order_by('-date').all() 
  10.   
  11.     paginator = Paginator(posts_list,20)  #顯示20條記錄
  12.     try : 
  13.         page = int(request.GET.get('page','1')) 
  14.     except ValueError: 
  15.         page = 1 
  16.  
  17.     try : 
  18.          posts = paginator.page(page) 
  19.     except (EmptyPage,InvalidPage): 
  20.          posts = paginator.page(paginator.num_pages) 
  21.      
  22.     t = get_template('notewo/blog.html') 
  23.     c = RequestContext(request,locals()) 
  24.     return HttpResponse(t.render(c)) 

 

  1. {% for  post in posts.object_list %} 
  2.    <li class="box bloglist" > 
  3.        (這裏就隨便放你的html代碼了) 
  4.    </li> 
  5.  {% endfor %} 
  6.    <li class="page"> 
  7.        <div class="pagination"> 
  8.               <span class="step-links"> 
  9.            {% if posts.has_previous %} 
  10.                   <a href="?page={{ posts.previous_page_number }}">previous</a> 
  11.            {% endif %} 
  12.  
  13.           <span class="current"> 
  14.                   Page {{ posts.number }} of {{  posts.paginator.num_pages }}. 
  15.           </span> 
  16.  
  17.               {% if posts.has_next %} 
  18.                     <a href="?page={{ posts.next_page_number }}" class="nextpage">next</a> 
  19.                        <a   class="nextpage2">next</a> 
  20.               {% endif %} 
  21.               </span> 
  22.        </div> 
  23.    </li> 

第二步、

你應該留意一下,上面我寫了一條:

 

  1. <a   class="nextpage2">next</a>  

的代碼。小弟不才,只能借這種蠢方法。繼續往下

 

  1. function getnextpage(){ 
  2.  
  3.     $(".nextpage2").click(function(){ 
  4.         var href = $(".nextpage").attr("href"); 
  5.         console.log(href); 
  6.         $.ajax({ 
  7.             type:"get", 
  8.             url: href, 
  9.             success:function(data){ 
  10.              var html = $(data).find(".showblog").html(); 
  11.              $(".pageli").remove(); 
  12.              $(".showblog").append(html); 
  13.                 //重新綁定點擊事件 
  14.                 getnextpage(); 
  15.             } 
  16.         }) ;//end ajax 
  17.     }); // end    $(".nextpage) 

$(".showblog") 是頂層的ul

$(".nextpage2") 被點擊之後,觸發$(".nextpage"),捕撈返回的數據,再把其中的li數據添加到ul的尾部。

如果大家想要實現滾動滾動到底部自動添加的話,再改進一下已經不難了。睡覺了

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章