作为一个Python的Web项目,其整体的开发流程大致如下:
在这个项目中,我们划分为4个模块,分别是用户模块、商品模块、购物车模块和订单模块。
对于整体项目的架构可分为3块,分别是前端开发、后台开发和其他技术,这里的前端开发就不进行说明了,直接用之前已设计好的。
在进行数据库设计前,先来对电商项目中的两个概念 SPU 和 SKU 进行了解。
SPU 和 SKU 的区别
这里用个简单的例子来说明:你想要一台华为P40 Pro,店员会问:你想要什么配置的P40 Pro?8GB+128GB亮黑色?8GB+256GB零度白?此时,每一台华为P40 Pro重量都是320g,都支持双卡双待以及产地都是中国大陆,那么这几个属性就是 SPU 属性;而容量、颜色,这些会影响价格和库存量等属性就是 SKU 属性。
接下来对用户注册部分用到的几个知识点进行总结。
用户注册的基本流程如下:
1.Django用户认证系统—create_user
User对象是认证系统的核心,这里我们学习User对象中create_user这一常用的方法。
在进行用户登录验证的时候,如果自己写代码就要先查询数据库,看用户输入的用户名是否存在与数据库中,如果存在与数据库中,然后还要验证用户输入的密码,这样一来要编写大量的代码。为了高效、快速的创建用户最直接的方式就是使用内置的create_user方法,它也会对密码进行默认加密的处理,使用的时候必须要传递username、email、password这三个参数,其他参数为可选参数。
2.类视图
当编写一个函数视图用于注册时,可能会遇到这个视图对应的路径提供多种不同的HTTP请求方法的支持,就需要在一个函数中编写不同的业务逻辑,代码的可读性与复用性都不佳。因此我们可以使用类视图将视图对应的不同请求方式以类中的不同方法来区别定义。
类视图的好处:
(1)代码可读性好;
(2)类视图相对于函数视图有更高的复用性,如果其他地方需要用到某个类视图的某个特定逻辑,直接继承该类视图即可。
类视图的使用:
定义类视图需要继承Django提供的父类View,可使用from Django.view.ge