- [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实例接受命令�
没有合适的资源?快使用搜索试试~ 我知道了~
毕设 基于Flask+Mysql+SQLALchmy的购物商场项目.zip
共248个文件
jpg:123个
html:40个
png:39个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 32 浏览量
2023-10-24
10:09:39
上传
评论
收藏 12.28MB ZIP 举报
温馨提示
matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
毕设 基于Flask+Mysql+SQLALchmy的购物商场项目.zip (248个子文件)
mr-01.css 55KB
mr-01.css 55KB
style.css 4KB
fontawesome-webfont78ce.eot 75KB
fontawesome-webfontd41d.eot 75KB
fontawesome-webfont78ce.eot 75KB
fontawesome-webfontd41d.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
共 248 条
- 1
- 2
- 3
资源评论
天天501
- 粉丝: 617
- 资源: 5906
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HtmlMate标签使用详解中文最新版本
- ATM机旁危险物品检测数据集VOC+YOLO格式1251张5类别.zip
- 网页优化meta标签使用方法及规则中文最新版本
- 网页万能复制 浏览器插件
- IMG_20241123_093226.jpg
- JavaScript的表白代码项目源码.zip
- springboot vue3前后端分离开发入门介绍,分享给有需要的人,仅供参考
- 全国297个地级市城市辖区数据1990-2022年末实有公共汽车出租车数人均城市道路建成区绿地面积供水供气总量医院卫生机构数医生人数GDP第一二三产业增加值分行业从业人员水资源农产品产量利用外资
- Python客流量时间序列预测模型.zip
- 故障预测-灰色预测模型C++源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功