购物车模块
整个项目围绕mysql,redis两大数据库与django,celery,fdfs,naginx四大服务器。
购物车模块围绕Reids数据库是读取最快,最常用的数据库。
从页面来说主要分为购物车页面、购物车信息的展示
从逻辑来说主要分为:加入购物车,展示购物车信息,购物车主页的展示,购物车的增加与减少,删除购物车,与从未登陆到登陆时cookies合并到redis
从大的思维逻辑来说:未登录的购物车的数据的增删该查,登录后的购物车的增删改查
总的来说商品详情页的增加与购物车详情页的增删改查。
购物车是属于经常性操作的,为了方便读取与修改,使用redis数据库中的hash(存储类型是键值对)存储购物车的数据
在四个逻辑中 除了查 是服务器响应界面给客户端
其余三个都是客户端发送数据给服务器,在这里主要用到的是局部刷新也就是需要用ajax
传输数据格式用的是json
我们是收集客户端数据的发送给服务器,添加购物车的请求方法是post
请求参数是用户的id 商品的id 与商品的数量:count
添加购物车
登陆与未登录的情况,我使用了is_authenticated()来判断,
在这之前购物车部分有个整体的逻辑:
1. 获取userid与sku_id,count
2. Userid在request中 主要是sku_id与count的判断
3. 利用al