项目结构:
一. 安装第三方库
# 下载源: https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install flask==2.3.2
pip3 install jinja2==3.1.2
pip install pymysql # 保持持久化
pip install flask-script==2.0.3 # 管理应用程序
pip install flask-sqlalchemy==3.0.3 # 实现ORM映射
pip install flask-migrate==2.7.0 # 发布命令工具
二. 创建配置文件settings.py
class Config: # 公共配置
DEBUG = True
# mysql + pymysql ://user:password@hostip:port/databasename
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@127.0.0.1:3306/flaskday05'
SQLALCHEMY_TRACK_MODIFICATIONS = False # 忽略警告
SQLALCHEMY_ECHO = True # 开发调试
class DevelopmentConfig(Config): # 开发环境
ENV = "development"
class ProductionConfig(Config): # 生产环境
ENV = 'production'
DEBUG = False
三. 新建 apps包
(1). apps / __init__.py中创建Flask对象
(2). app.py 中 包装Flask对象
四. 新建 ext包
(1). ext / __init__.py中 创建映射对象
(2) apps / __init__.py中 初始化配置db
(3). app.py 中 配置命令相关代码
五. 创建模型
(1). apps / user / models.py 创建模型类
(2). app.py 中导入模型类
(3). 指令生成模型
python app.py db init # 产生一个文件夹 migrations,只需执行一次
python app.py db migrate # 迁移: 自动生成一个版本文件,在migrations/version生成一个.py文件
python app.py db upgrade # 同步: 生成数据库表
python app.py db downgrade # 降级: 数据库版本回退
六. 注册蓝图
(1). apps / user / view.py 定义蓝图
(2). apps / __init__.py中 注册蓝图
七. 视图 / 函数
(1). apps / user / view.py 编写视图函数
(2). templates / user / show.html 编写视图页面
八. 启动项目
# 终端运行
python app.py runserver