- [1.需求分析:](#1-----)
- [2.系统功能设计](#2------)
* [1.系统结构功能](#1------)
* [2.系统业务流程](#2------)
* [3.文件夹组织架构](#3-------)
- [3.系统各部分文件分析](#3---------)
* [**1.初始化文件`__init__.py`:**](#--1--------init--py----)
- [1——导入模块:](#1-------)
- [2——实例化SQLAlchemy对象:`db = SQLAlchemy()`](#2-----sqlalchemy----db---sqlalchemy---)
- [3——创建工厂函数app_create(config_name)实现程序实例初始化,以便扩展对象不最初绑定到应用程序app上:](#3--------app-create-config-name---------------------------app--)
* [2.配置文件`config.py`:](#2-----configpy--)
+ [1——创建一个基类Config来保存通用配置](#1--------config-------)
+ [2——创建一个类继承定义的Config类配置DevelopmenttConfig环境下配置](#2------------config---developmenttconfig-----)
+ [3——用一个字典config提供选择](#3-------config----)
* [3.模型文件`models.py`:](#3-----modelspy--)
+ [1——导入模块:](#1--------1)
+ [2——数据模型类:](#2--------)
* [4.`shop.sql`文件:](#4-shopsql----)
* [5.`home`文件](#5-home---)
+ [1——初始化文件`__init__.py`:](#1----------init--py--)
+ [2——**前台表单文件`forms.py`:**](#2-----------formspy----)
+ [3——前台路由文件`views.py`:](#3---------viewspy--)
- [1.导入模块函数:](#1-------)
- [2.注册页面:](#2-----)
- [3.登陆页面:](#3-----)
- [4.首页模块:](#4-----)
- [5.购物车模块:](#5------)
------
# 1.需求分析:
- 具备首页商品轮播功能
- 具备首页商品展示功能,包括展示最新上架商品、打折商品和热门商品等功能
- 具备查看商品详情功能,可以用于展示商品的详细信息
- 具备加入购物车功能,用户可以将商品添加至购物车
- 具备查看购物车功能,用户可以查看购物车中的所有商品,可以更改购买商品的数量,情况购物车等
- 具备填写订单功能,用户可以填写地址信息,用于接收商品
- 具备提交订单功能,用户提史订单后,可以显现支付宝收款的二维码
- 具备查看订单功能,用户提交订单后可以查看订隼详情
- 具备会员管理功能,包括用户注册、登录和退出等
- 具备后台管理商品功能,包括新増商品、编辑商品、删除商品和查看商品排行等
- 具备后台管理会员功能,包括查看会员信息等
- 具备后台管理订单功能,包括查看订单信息等
# 2.系统功能设计
## 1.系统结构功能
**系统结构功能图:**
![系统结构功能图](https://github.com/KikyoWu/Python/blob/master/image/%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84%E5%8A%9F%E8%83%BD%E5%9B%BE.png)
## 2.系统业务流程
**购物商场业务流程图:**
![商场业务流程图](https://github.com/KikyoWu/Python/blob/master/image/%E5%95%86%E5%9C%BA%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E5%9B%BE.png)
## 3.文件夹组织架构
**采用模块和包的方式组织程序,文件夹组织架构如下所示:**
![文件夹组织架构图](https://images.cnblogs.com/cnblogs_com/yffxwyy/1858223/o_201008071448%E6%96%87%E4%BB%B6%E5%A4%B9%E7%BB%84%E7%BB%87%E6%9E%B6%E6%9E%84%E5%9B%BE.png)
- 有3个顶层文件夹:
- **app:**Flask程序的包名。该文件夹下还有4个包:`home`(前台),`admin`(后台),`static`(静态文件),`template`(模板文件);app初始化文件`__init__.py`,模型文件`models.py`
- **home(前台):**
- **初始化文件`__init__.py`:**用`home = Blueprint("home",__name__)`定义蓝图,用`import app.home.views`导入前台路由文件
- **前台表单文件`forms.py`:**验证用户注册表单类RegisterForm,用户登录表单类LoginForm,修改密码表单类PasswordForm。继承自FlaskForm类,定义各个表单中每个字段类型和验证规则,以及字段的相关属性等信息。
- **路由文件`vews.py`**:
1. 设置登录路由`"/login/"`,注册路由`("/register/",`退出登录路由`"/logout/"`,修改密码路由`"/modify_password/"`,首页路由`"/"`,商品列表路由`"/goods_list/<int:supercat_id>/"`,商品详情路由`"/goods_detail/<int:id>/"`,搜索功能路由`"/search/"`,添加购物车路由`"/cart_add/"`,清空购物车路由`"/cart_clear/"`,删除购物车中某个商品路由`"/cart_delete/<int:id>/"`,购物车路由`"/shopping_cart/"`,购物车提交订单路由`"/cart_order/"`,删除某个订单路由`"/order_delete/<int:id>/"`,订单详情路由`"/order_list/"`。<!--路由具体地址不定的地方:需要把一些特定的字段标记成 <variable_name> ,将这些特定的字段将作为参数传入到函数中-->
2. 使用方法render_template('hello.html', name=name) 来渲染模板,在 Python 中生成 HTML,显示网页页面
3. 使用redirect(url_for('目录.函数名'))函数在某些路由下执行一些操作后重定向用户到其它地方,构建一个 URL 来匹配一个特定的函数可以使用 from flask import url_for方法。它接受函数名作为第一个参数,以及一些关键字参数,每一个关键字参数对应于 URL 规则的变量部分。未知变量部分被插入到 URL 中作为查询参数
4. 调用`home.__init__.py`(初始化文件)中定义好的蓝图:
```python
from . improt home
@home.route("/")
```
- **static(静态文件):**
- **404:**错误页面
- **home:**前台页面排版css,字体fonts,相关图片images,支付插件js
- **Images:**所有商品图片
- **template(模板文件):**
- 用来响应各个页面的HTML文件
- **`__init__.py`(初始化文件):**
- 实例化SQLAlchemy对象做数据库映射,对数据库进行操作
- 定义app工厂函数create_app():实例化Flask对象,载入并初始化配置文件config,注册前后台蓝图`app.register_blueprint(home_blueprint)`,这样app才能激活蓝图中的路径
- **models.py模型文件:**使用SQLAlchemy进行数据库操作,将所有模型放到一个单独的models模块中,所以需要导入`__init__.py`中实例化的SQLAlchemy对象db,用SQLAlchemy扩展定义会员数据模型`User(db.Model)`,大分类`SuperCat`,子分类`SubCat`,商品`Goods`,购物车`Cart`,订单`Orders`,订单详情`OrdersDetail`.
- **`migrations`数据库迁移文件:**使用
[^Flask-Script]: Manage启动文件中定义的Manager实例调用命令
扩展以命名行的形式生成数据表和启动文件后生成的文件,其命令如下:
```python
python mamage.py db init #创建迁移仓库,首次使用
python mamage.py db migrate #创建迁移脚本
python mamage.py db upgrade #把迁移应用到数据库中
```
- **`venv`虚拟环境:**python运行的虚拟环境,创建并启动虚拟环境后产生,其命令如下:
```python
virtualenv venv #创建venv虚拟环境
source venv/bin/activate #启动venv虚拟环境
```
- **`Requirments.txt:`**列出所有依赖包,便于在其他电脑中重新生成相同的虚拟环境
- **`config.py`配置文件:**定义配置:设置密钥保证会话安全,进行数据库修改跟踪,连接数据库,打开环境调试端口
- **`manage.py`启动文件:**用于启动程序以及其他程序任务:
- 实例化应用对象create_app
- 添加Manager实例调用的命令Python shell,make_shell_context()函数在命令行获取上下文,和所有和数据库相关的命令MigrateComman,将实例对象传入Manager追踪所有的在命令中调用的命令和处理过程的调用运行情况
- 定义应用404找不到内容时的路由
- 启动Manger实例接受命令�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 Python优秀项目 基于Flask+Mysql+SQLALchmy的购物商场项目源码+部署文档+数据资料.zip 1、代码压缩包内容 代码的项目文件 部署文档文件 2、代码运行版本 python3.7或者3.7以上的版本;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细) 3、运行操作步骤 步骤一:将代码的项目目录使用IDEA打开(IDEA要配置好python环境) 步骤二:根据部署文档或运行提示安装项目所需的库 步骤三:IDEA点击运行,等待程序服务启动完成 4、python资讯 如需要其他python项目的定制服务,可后台私信博主(注明你的项目需求) 4.1 python或人工智能项目辅导 4.2 python或人工智能程序定制 4.3 python科研合作 Django、Flask、Pytorch、Scrapy、PyQt、爬虫、可视化、大数据、推荐系统、人工智能、大模型
资源推荐
资源详情
资源评论
收起资源包目录
Python优秀项目 基于Flask+Mysql+SQLALchmy的购物商场项目源码+部署文档+数据资料.zip (250个子文件)
mr-01.css 55KB
mr-01.css 55KB
style.css 4KB
fontawesome-webfontd41d.eot 75KB
fontawesome-webfont78ce.eot 75KB
fontawesome-webfontd41d.eot 75KB
fontawesome-webfont78ce.eot 75KB
manage_rightTitle.gif 3KB
modify.gif 1KB
del.gif 1KB
manage_rightKbottom.gif 1KB
manage_rightKtop.gif 1KB
manage_leftTitle_right.gif 415B
manage_leftTitle_left.gif 408B
manage_ico3.gif 340B
manage_ico2.gif 328B
manage_rightKmid.gif 267B
manage_ico1.gif 213B
copyright_line.gif 135B
manage_listIco.gif 128B
manage_leftTitle_mid.gif 66B
shopping_cart.html 13KB
goods_detail.html 10KB
goods_search.html 9KB
index.html 9KB
goods_list.html 6KB
header.html 5KB
goods_edit.html 5KB
goods_add.html 5KB
index.html 5KB
footer.html 4KB
user_list.html 4KB
goods_del_confirm.html 4KB
order_list.html 4KB
register.html 4KB
subcat.html 4KB
supercat.html 3KB
login.html 3KB
subcat_add.html 3KB
orders_list.html 3KB
login.html 3KB
menu.html 3KB
login-origin.html 3KB
goods_detail.html 3KB
supercat_add.html 2KB
orders_detail.html 2KB
topgoods.html 2KB
modify_password.html 2KB
empty_cart.html 1KB
btn_manageLogin.html 1KB
btn_login_long.html 1KB
btn_login_ok.html 1KB
btn_search.html 1KB
btn_short.html 1KB
btn_long.html 1KB
bg.html 1KB
footer.html 820B
404.html 720B
header.html 683B
common.html 276B
common.html 241B
37.jpg 137KB
37.jpg 137KB
13.jpg 117KB
13.jpg 117KB
45.jpg 109KB
45.jpg 109KB
61.jpg 92KB
61.jpg 92KB
36.jpg 89KB
36.jpg 89KB
22.jpg 79KB
22.jpg 79KB
21.jpg 77KB
21.jpg 77KB
51.jpg 76KB
51.jpg 76KB
48.jpg 75KB
48.jpg 75KB
42.jpg 75KB
42.jpg 75KB
44.jpg 75KB
44.jpg 75KB
41.jpg 74KB
41.jpg 74KB
27.jpg 74KB
27.jpg 74KB
7.jpg 73KB
7.jpg 73KB
43.jpg 73KB
43.jpg 73KB
49.jpg 72KB
49.jpg 72KB
52.jpg 71KB
52.jpg 71KB
31.jpg 70KB
31.jpg 70KB
29.jpg 70KB
29.jpg 70KB
24.jpg 68KB
共 250 条
- 1
- 2
- 3
资源评论
IT狂飙
- 粉丝: 4824
- 资源: 2654
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功