2013-02-01 4 views
1

누구나 커서를 사용하여 페이지 매김을 구현할 수 있습니까?커서를 사용하여 페이지 매김을 완벽하게 구현

대부분의 예제는 다음 페이지에 액세스하는 방법에 대한 것입니다. 이전 페이지에 액세스하는 데 문제가 있습니다. 당신이 다른 쿼리의 제한된 번호가있는 경우

답변

2
def get(self): 
    echo = self.response.out.write 
    limit = 10 
    if self.is_logged_in(): 
     curs = Cursor(urlsafe=self.request.get('curs')) 

     query = Postdb.query() 

     if self.request.get('type') == 'prev': 
      query_reverse = query.order(-Postdb.key) 

      posts, cursor, more = query_reverse.fetch_page(limit, start_cursor=curs.reversed()) 

      echo('<ol>') 
      for post in reversed(posts): 
       echo('<li><a href="'+post.key.urlsafe()+'">'+post.title+'</a></li>') 
      echo('</ol>') 

      if more and cursor: 
       echo('<a href="?type=prev&curs='+cursor.reversed().urlsafe()+'">prev</a> ') 

      echo('<a href="?type=next&curs='+curs.urlsafe()+'">next</a>') 
     else: 
      query_forward = query.order(Postdb.key) 

      posts, cursor, more = query_forward.fetch_page(limit, start_cursor=curs) 

      echo('<ol>') 
      for post in posts: 
       echo('<li><a href="'+post.key.urlsafe()+'">'+post.title+'</a></li>') 
      echo('</ol>') 

      if self.request.get('curs') != '': 
       echo('<a href="?type=prev&curs='+curs.urlsafe()+'">prev</a> ') 

      if more and cursor: 
       echo('<a href="?type=next&curs='+cursor.urlsafe()+'">next</a>') 

     echo('<br><br><a href="/auth/posts/list">start</a>') 
관련 문제