如果直接阅读本文,您可能有些不知所云,这是因为我用很多篇幅讲了一个事情,如果想知道上下文,那么建议您从本专栏第22章看起:Python3开发–22–了解Django框架

一、项目需求设计

我们本专栏的Django项目,是以网上最常见的商城为例子来撰写的,商城也是学习过程中最常见的参照对象!

一个商城的概要设计如下:

1、网站首页:应设有导航栏,并且所有功能展示在导航栏,在导航栏的下面展示各类的热销商品,当单击商品图片时即可进入商品详细页面,导航栏的上方设有搜索框,便于用户搜索相关的商品。

功能:商品搜索功能、网站导航、广告轮播、商品热销分类、网站尾部。

2、商品列表页:将所有商品按一定的规则排序展示,用户可以从销量、价格等设置商品的排序方式,并在页面左侧设置分类列表,选择某一分类可以筛选出相应的商品信息。

功能:商品搜索功能、网站导航、商品分类、商品列表信息。

3、商品详细页:展示某一商品的详细介绍,并在详细介绍的左侧设置热销商品列表。

功能:商品搜索功能、网站导航、商品基本信息、商品详细介绍、热销推荐。

4、购物车页:只能在用户已登录的情况下才能访问,它是将用户选购的商品以列表形式展示,列表的每行包含了商品的图片、名称、单价、数量、合计和删除操作,用户可以增减商品的购买数量,并且能自动计算费用。

功能:商品搜索功能、网站导航、商品的购买费用核算。

5、个人中心页:用于展示用户的基本信息和订单信息,只能在用户已登录的情况下才能访问。

功能:商品搜索功能、网站导航、用户基本信息、订单信息。

6、用户登录注册页:共用一个页面,如果账号已存在,则对账号密码进行验证并登录,如果用户不存在,则对当前账号密码进行注册处理。

功能:商品搜索功能、网站导航、登录注册表单。

二、数据库设计

数据库:使用MySQL,除了Django内置数据表外,主要有商品信息表、商品类别表、购物车信息表、订单信息表等。

1、商品信息表数据结构

表字段

字段类型

含义

id

Int类型,长度为11

主键

name

Varchar类型,长度为100

商品名称

sezes

Varchar类型,长度为100

商品规格

types

Varchar类型,长度为100

商品类型

price

Float类型

商品价格

discount

Float类型

折后价格

stock

Int类型

存货数量

sold

Int类型

已售数量

likes

Int类型

收藏数量

created

Date类型

上架日期

img

Varchar类型,长度为100

商品主图

details

Varchar类型,长度为100

商品描述

2、商品类别表数据结构

表字段

字段类型

含义

id

Int类型,长度为11

主键

firsts

Varchar类型,长度为100

一级分类

seconds

Varchar类型,长度为100

二级分类

3、购物车信息表数据结构

表字段

字段类型

含义

id

Int类型,长度为11

主键

quantity

Int类型,长度为11

购买数量

commodityInfos_id

Int类型,长度为11

商品信息表的主键id

user_id

Int类型,长度为11

Django内置用户表的主键id

4、订单信息表数据结构

表字段

字段类型

含义

id

Int类型,长度为11

主键

price

Float类型,长度为11

订单总价

created

Int类型,长度为11

订单创建时间

user_id

Date类型

Django内置用户表的主键id

state

Varchar类型,长度为20

订单状态