前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Django的电子商务网站开发(连载26)

基于Django的电子商务网站开发(连载26)

作者头像
顾翔
发布2019-12-11 16:45:10
4140
发布2019-12-11 16:45:10
举报
文章被收录于专栏:啄木鸟软件测试

3.5.2查看购物车中的商品

1.urls.py

...url(r'^view_chart/$', views.view_chart),...

2.views. py

...# 查看购物车def view_chart(request): util = Util() username=util.check_user(request) if username=="": u =LoginForm() return render(request,"index.html",{'uf':uf,"error":"请登录后再进入"}) else: #购物车中商品个数 count=util.cookies_count(request) #返回所有的cookie内容 my_chart_list = util.add_chart(request) return render(request, "view_chart.html", {"user": username, "goodss": my_chart_list, "count":count})...

登录用户通过调用语句my_chart_list= util.add_chart(request)把商品放入购物车中。在产品代码Util类中的add_chart()方法代码如下。

... #加入购物车 def add_chart(self,request): #获取购物车内的所有内容 cookie_list = self.deal_cookes(request) #定义my_chart_list列表 my_chart_list = [] #遍历cookie_list,把里面的内容加入类Chart_list列my_chart_list中 for key in cookie_list: chart_object = Chart_list chart_object = self.set_chart_list(key,cookie_list) my_chart_list.append(chart_object) #返回 my_chart_list return my_chart_list...

(1)调用方法deal_cookes()获取购物车内的所有内容。

(2)通过语句for keyin cookie_list遍历cookie_list。

(3)通过方法set_chart_list()把cookie_list里面的内容加入类Chart_list的my_chart_list列表变量中。

deal_cookes()方法如下。

... #获取购物车内的所有内容 def deal_cookes(self,request): #获取本地所有的COOKIES cookie_list = request.COOKIES #去除COOKIES内的sessionid cookie_list.pop("sessionid") #如果COOKIES内含有csrftoken,去除COOKIES内的csrftoken if "csrftoken" in cookie_list: cookie_list.pop("csrftoken") #返回处理好的购物车内的所有内容 return cookie_list...

方法set_chart_list()用于把获取购物车中的商品放在一个名为Chart_list的类中,返回给模板,其代码如下。

...#把获取购物车中商品放在一个名为Chart_list()的类中,返回给模板def set_chart_list(self,key,cookie_list): chart_list = Chart_list() good_list = get_object_or_404(Goods, id=key) chart_list.set_id(key)#商品的id chart_list.set_name(good_list.name)#商品的名称 chart_list.set_price(good_list.price)#商品的价钱 chart_list.set_count(cookie_list[key])#商品的个数 return chart_list...

(1)通过语句good_list= get_object_or_404(Goods, id=key)获得商品信息。

(2)通过语句chart_list.set_id(key)、chart_list.set_name(good_list.name)、 chart_list.set_price(good_list.price)和chart_list.set_count(cookie_list[key])分别把商品的id、名称、价钱及数量放入到Chart_list类中。

Chart_list类系统在object.py中如下定义。

...#购物车模型class Chart_list(): #主键 def set_id(self,id): self.id=id #商品名称 def set_name(self,name): self.name=name #商品价格 def set_price(self,price): self.price=price #商品数量 def set_count(self,count): self.count=count...

在object.py中定义类模型,除了上面已提及购物车模型类Chart_list,还包括订单中的订单模型类Order_list以及总订单模型类Orders_list。

3.模板

view_chart.html

...{% extends "base.html" %}{% block content %} </ul> <ul class="nav navbar-nav navbar-right"> <li><a href="/user_info/">{{user}}</a></li> <li><a href="/logout/">退出</a></li> </ul> </div><!--/.nav-collapse --> </div> </nav> <div> <div id="navbar" class="navbar-collapse collapse"> </div><!--/.navbar-collapse --> </div> <div class="container theme-showcase" role="main"> <font color="#FF0000">{{error}}</font> <div> <div> <table class="table table-striped"> <thead> <tr> <th>编号</th> <th>名称</th> <th>价钱</th> <th>个数</th> <th>移除</th> </tr> </thead> <tbody> {% for key in goodss %} <tr> <td><a href="/view_goods/{{key.id}}/">{{key.id}}</a></td> <td>{{key.name}}</td> <td>¥{{key.price}}</td> <td><form action="/update_chart/{{key.id}}/" method="post"><input type="number" value="{{key.count}}" style="width:30px;" name="count{{key.id}}" id="id_count" required /><input type="submit" value="修改" /></form></td> <td><a href="/remove_chart/{{key.id}}/">移除</a></td> </tr> {% endfor %} </tbody> </table> <a href="/remove_chart_all/">清除所有</a>&nbsp;&nbsp;&nbsp;&nbsp; <a href="/view_address/">生成订单</a> </div> </div>{% endblock %}...

通过{% for keyin goodss %}来遍历chart_list类,从而显示购物车中的商品。在这里可以实现修改商品的个数,删除某一个商品以及删除购物车内所有商品的操作。如图3-15所示。

图3-15 显示购物车中商品的内容

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.5.2查看购物车中的商品
    • 1.urls.py
      • 2.views. py
        • 3.模板
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档