누구나 커서를 사용하여 페이지 매김을 구현할 수 있습니까?커서를 사용하여 페이지 매김을 완벽하게 구현
대부분의 예제는 다음 페이지에 액세스하는 방법에 대한 것입니다. 이전 페이지에 액세스하는 데 문제가 있습니다. 당신이 다른 쿼리의 제한된 번호가있는 경우
누구나 커서를 사용하여 페이지 매김을 구현할 수 있습니까?커서를 사용하여 페이지 매김을 완벽하게 구현
대부분의 예제는 다음 페이지에 액세스하는 방법에 대한 것입니다. 이전 페이지에 액세스하는 데 문제가 있습니다. 당신이 다른 쿼리의 제한된 번호가있는 경우
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>')
, 당신은
https://bitbucket.org/viur/server/src/1b739a5e4ff1c2e3ce8933603a6faf32b364e708/indexes.py?at=master
이 클래스는 당신을 위해 모든 커서 물건을 처리하고 페이지에 효율적인 랜덤 액세스를 (할 수 있습니다보고 할 수 있습니다 즉, "다음"을 n 번 클릭하는 대신 페이지 n으로 바로 이동할 수 있습니다.