Django之爱鲜蜂项目开发 day05(二)

在框架上搭好基本的页面

4. 购物车页面

4.3 购物车cart页面
4.3.1 cart视图函数及页面

在这里插入图片描述
根据css样式写一下cart.html页面
在这里插入图片描述
展示一下
在这里插入图片描述

4.3.2 实现购物车商品的增减

通过 + , - 两个按键改变一下数量

4.3.2.1 实现购物车商品的增的功能

同上篇博客类似,先写一下js样式
在这里插入图片描述
(顺带一提,对于一个项目来说,代码耦合性越低越好,在公司的正式开发的项目中,比如这些错误状态,可以写到一个文件里)
新建一个error_code.py文件
在这里插入图片描述
然后去导入
在这里插入图片描述
接下来去写一下视图函数
cartid在前端是可以修改的,所以在这里要再确认一下cardid是不是正常的
在这里插入图片描述
然后去配置一下路由
在这里插入图片描述
然而这个时候添加的功能并不能使用,这个是为了防止csrf攻击做的防御手段,所以这样做不被允许
在这里插入图片描述
在cart.html页面加一段代码,这个是每次Ajax方式提交请求,比如get和post请求的时候,都向服务器提交了 csrfmiddlewaretoken,服务器就不会禁止了
在这里插入图片描述
然后可以去浏览器查看一下,点击按键 + 时,购物车页面所对应商品num数量加一
在这里插入图片描述
修改js样式,让页面上显示相应的数字
在这里插入图片描述
依旧可以去数据库查看一下数据对不对,方法一样,可以查看上一篇博客

使用装饰器功能

鉴于每一次实现功能,都要判断用户是否登陆的状态,请求的方式时get请求还是post请求,这样代码量多,且代码耦合性大
这里可以用一下装饰器,实现 判断用户是否登陆的状态,请求的方式时get请求还是post请求 ,这些功能

(为什么早不用?白写这么多代码…)

新建一个utils.py文件,写一下装饰器,
先写一个判断用户是否登陆的状态的装饰器
在这里插入图片描述
在views.py文件下导入这个装饰器
在这里插入图片描述
然后会出现取不到userid的情况
在这里插入图片描述
修改一下装饰器,把用户动态的加到request上面
在这里插入图片描述
再修改一下
在这里插入图片描述
看一下功能是否一致,可以看到添加商品时数量可以改变
在这里插入图片描述
在其他用到登陆状态的地方也改一改,删掉内容,加上装饰器
在这里插入图片描述
改为
在这里插入图片描述
其余的修改不一一列出了

再写一个判断用户是否登陆的状态的装饰器
进入utils.py文件,
在这里插入图片描述
在views.py文件下导入这个模块
在这里插入图片描述
其他模块能用到的也依次修改

4.3.2.2 实现购物车商品的减的功能

先写一下js样式,与 + 类似,可以直接复制过来修改一些参数
在这里插入图片描述
根据 /axf/cart_num_reduce/ 去写一下视图函数
也可以把添加的视图函数复制一下,修改一些参数
在这里插入图片描述
在urls.py文件下添加一条path
在这里插入图片描述
可以去浏览器操作一下,当点击 + - 按键时,页面上的数字会发生实时变化在这里插入图片描述

然后查看一下数据库,确认数据是否无误

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值