Python Django实现简单购物车功能

本人新书《玩转Python网络爬虫》,可在天猫、京东等商城搜索查阅或通过右侧图书链接购买,项目深入浅出,适合爬虫初学者或者是已经有一些网络爬虫编写经验,但希望更加全面、深入理解Python爬虫的开发人员。


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


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

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

网站的setting.py
Python Django实现简单购物车功能
Python Django实现简单购物车功能

网站Url.py
Python Django实现简单购物车功能
App(ProductInfo和ShoppingCar)分别有各自的url.py

网站的整体设置就是这样


ProductInfo设计:
url.py
Python Django实现简单购物车功能
这里用商品的ID作为URL的其中一部分

models.py设计
Python Django实现简单购物车功能

Form.py设计
Python Django实现简单购物车功能

views.py设计
Python Django实现简单购物车功能
Python Django实现简单购物车功能
Python Django实现简单购物车功能
Python Django实现简单购物车功能
这里有2个def,一个是ProductList,一个是ProductDetails。
ProductList这里不做具体设计,这部分是用于将所有商品以列表的形式表现出来。后续可以扩展部分。
ProductDetails是一个商品的详细信息,和上面淘宝的截图一样。

Html部分:
Python Django实现简单购物车功能

运行结果:
Python Django实现简单购物车功能

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


ShoppingCar设计:
url.py
Python Django实现简单购物车功能

models.py设计
Python Django实现简单购物车功能
这里的数据表和商品的数据表数据格式大致一致,而且比商品的数据表有所减少部分数据,但我这里两个数据表是没有关联的。如果要做到淘宝那样的话,需要对数据库进行下一步的设计。

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

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

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


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

代码下载:请点击