Python Django实现简单购物车功能

25 篇文章 0 订阅

Django版本:1.11
操作系统:Windows
Python:3.5
欢迎加入学习交流QQ群:657341423


这里以淘宝为例
这里写图片描述
这是一个商品的详情,这里有2个按钮功能,一个是立即购买,一个加入购物车,两者都是生成一个订单,但两者实现的方法是不相同的。

我按照这个设计,实现简单功能。
这里写图片描述
这里生成2个App,一个ProductInfo,用于商品详情,一个ShoppingCar,购物车功能(包括立即购买和加入购物车),最后一个是模版。

网站的setting.py
这里写图片描述
这里写图片描述

网站Url.py
这里写图片描述
App(ProductInfo和ShoppingCar)分别有各自的url.py

网站的整体设置就是这样


ProductInfo设计:
url.py
这里写图片描述
这里用商品的ID作为URL的其中一部分

models.py设计
这里写图片描述

Form.py设计
这里写图片描述

views.py设计
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里有2个def,一个是ProductList,一个是ProductDetails。
ProductList这里不做具体设计,这部分是用于将所有商品以列表的形式表现出来。后续可以扩展部分。
ProductDetails是一个商品的详细信息,和上面淘宝的截图一样。

Html部分:
这里写图片描述

运行结果:
这里写图片描述

根据url的http://127.0.0.1:8000/ProductList/A003/ 里面的A003更改,会显示不同商品。如果做了部分修改,变成A003M,这里只是做一些标记而已。(这里增加了新增产品和修改信息只是方面数据录入和测试。在逻辑设计上比较简单。)
这里写图片描述


ShoppingCar设计:
url.py
这里写图片描述

models.py设计
这里写图片描述
这里的数据表和商品的数据表数据格式大致一致,而且比商品的数据表有所减少部分数据,但我这里两个数据表是没有关联的。如果要做到淘宝那样的话,需要对数据库进行下一步的设计。

views.py设计
这里写图片描述
MyCar其实就是将数据表的数据出来的。这里读取全部,如果对比淘宝那样,这个数据表还需加入用户的ID,可以通过用户登录的时候,用session保存用户ID,然后通过用户的ID进行筛选。
BuyNow就是在商品的详细页面,点击马上抢购的时候,将商品的信息写入session,然后再显示出来。这里是读取之前写入的session。

运行结果:
这里写图片描述
上图,当用户在(APP(ProductInfo)的页面)点击加入购物车的时候,会写入App(ShoppingCar)所在的数据表里面
然后点击我的购物车,会将购物车里面数据显示出来。
这里会出现数据重复,如果做到淘宝那样,可以优化这个插入数据表的功能,需要加多一字段(数量),如已存在的就修改数量,不存在就新增数据。

这里写图片描述
上图,如果点击马上抢购,会直接跳到商品的详细信息。而且是不写入数据表的。
上述两种方式,只要加多一个提交订单,即可生成一个订单,这里又是一个APP,又是一个数据表了。


总结:
大致上电商平台的购物车功能就是大致这样设计,细节的设计可以根据具体再修改。

代码下载:请点击

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xy-Huang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值