6.商品信息模块
商品信息模块包括两部分:商品列表和商品详细信息。
6.1分页功能
Django内置了分页组件 Paginator:
》》from django.core.paginator import Paginator
导入分页模块
》》p=Paginator(objects,6)
将obejcts数据6个元素分成一页。分页模块内置了多种方法,可对p进行操作,如获取总页数,将页数转化为循环对象等。
》》page=p.page(n)
获取当前页n的数据,可继续对当前页数据page进行多种方法的操作,例如判断是否有上一页或下一页等。
6.2商品列表页的业务逻辑
【参数】商品列表页主要是展示商品的功能,有4个部分:分类展示(t)、分页展示(p)、排序展示(s)、商品搜索(n)。因此以url ?t=&p=&s=&n= 的形式传递数据,在视图函数中一同处理,筛选所需商品。
【默认值】4个参数均需在视图中设置默认值,即参数为空时的值。排序默认按销量,页数默认第一页等。
【html传递参数】在html的超链接中,均以URL +参数来表示,但有些超链接并不需要所有参数。例如:
》商品搜索跳转后,分类、排序方式和页数都回到默认情况,因此只需要传递参数n即可;
6.3商品列表页的数据渲染
使用变量有firsts、typesList、n、t、s、p和pages;
js功能用来实现二级分类的隐藏和展现。