设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 4703|回复: 2
打印 上一主题 下一主题

关于webpy分页的问题

[复制链接]

2

主题

0

好友

48

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2016-10-9 16:39:34 |只看该作者 |正序浏览
关于webpy分页的问题,不是太清楚怎么实现,然后去网上找了一段代码。修改后可以使用,但是对应的地址是 http://127.0.0.1:8080/?page=1
想知道怎么改成 http://127.0.0.1:8080/list/?page=1

程序中对应page并无url的设置呢

class list:
    def GET(self):
        i = web.input(page='1')
        page = int(i.page)
        page_posts, page_count = model.Post().list(page)

        return render.list(page_posts, page_count, page)
----------------------

    def list(self, page):
        '''获取第page页的所有文章'''
        per_page = 10

        # 获取从offset开始共per_page个post
        offset = (page - 1) * per_page
        posts = db.query('''SELECT posts.id, title, posts.time, user_id, user_info.user_code AS username
                            FROM posts JOIN user_info
                            ON posts.user_id = user_info.id
                            ORDER BY posts.id DESC
                            LIMIT %d OFFSET %d''' % (per_page, offset))
        page_posts = []
        for p in posts:
            comment = Comment(p.id)
            last = comment.last()
            last_time = last.time if last else p.time
            page_posts.append({'id': p.id, 'title': p.title, 'userid': p.user_id, 'username': p.username, 'comment_count': comment.count(), 'last_time': last_time})

        # 计算总页数
        post_count = self.count()
        page_count = post_count / per_page
        if post_count % per_page > 0:
            page_count += 1


        return (page_posts, page_count)

回复

使用道具 举报

2

主题

0

好友

48

积分

新手上路

Rank: 1

板凳
发表于 2016-10-10 14:34:04 |只看该作者
感谢老师的提点,关于页面处理无需定义,增加一个page的参数就可以了。上面的写法也是没有问题的
我的问题在于把地址弄错了。将模板中的地址改为 http://127.0.0.1:8080/list?page=1 就可以了,我之前多了一个/
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2016-10-9 22:52:49 |只看该作者
有个 urls 的变量设置啊,默认在你的 code.py 里,你把响应的路径从 / 改成 /list
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 21:02 , Processed in 0.013883 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部