最近看pylons的教程,看到,要加入分页,但是页面不显示分页的链接。
在看到了测试代码,最后让我发现问题所在,原来在调用pager()函数时,内部要调用url_for()函数的。但是我的route.py里面是如下定义的。
map = Mapper(directory=config['pylons.paths']['controllers'],
always_scan=config['debug'],
explicit=True)
map.minimization = False
也有可能后来版本变化,导致url_for()不会自动为你生成默认url,好处在文档里有讲。
最后手动在list.html里面把pager()函数里面加入controller和action参数就ok了。
还有一个方法是在page.py里面,把list函数里面的Page函数参数里面定义controller跟action,如下
def list(self):
93 page_q = meta.Session.query(model.Page)
94 c.paginator = paginate.Page(
95 page_q,
96 page=int(request.params.get('page', 1)),
97 items_per_page = 2,
98 controller='page',
99 action='list'
100 )
101 return render('/derived/page/list.html')
阅读(1613) | 评论(0) | 转发(0) |