1
icodesign 2015-02-09 20:38:27 +08:00
我抱着学习的态度讨论下:
1. 这种简单的响应式建议用 css 处理,可以参考一下 @media ,这样就不用去维护 3 中的两个 div 了(我不是前端工程师,不知道这是不是最佳实践) 3. 既然你的 url 构造很复杂,我建议把这个扔到后台逻辑中,比如给 page_obj 加上个属性 next_url 之类的 (我也不是后端工程师,不知道这是不是最佳实践) |
2
timonwong 2015-02-09 20:49:19 +08:00
可以参考.NET MVC里面的 PagedList 实现。
python中得模板表达能力比较肉,django模板的表达能力比jinja2还要弱一点,实现起来可能不是非常通用就是了。 我之前模仿 PagedList 做了一个: https://github.com/timonwong/pypagedlist https://github.com/timonwong/flask-pagedlist 主要思路: 1. 使用 tag; 2. 该tag接收两个参数,一个是base url (reverse(xxx)),一个是 options (当然options也可以展开作为参数) 3. 在tag里面拼接HTML(如果需求不大,可以考虑使用 inclusion tag) 4. 尤其注意options: https://github.com/timonwong/pypagedlist/blob/master/pagedlist/web/options.py 5. 以及builder : https://github.com/timonwong/pypagedlist/blob/master/pagedlist/web/builder.py ,写得过于通用,所以代码比较多。 |