可以用
conda或者其他虚拟环境,这个推荐使用uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"安装后使用 uv venv 创建虚拟环境,可以按照对应的提示进入虚拟环境
uv pip install -r requirements.txt安装所需要的依赖
这里推荐使用 wsl2 搭配 docker 使用
这里推荐使用 wsl2-distro-manager 来安装 wsl2
安装 Docker 参考 Docker 的安装文档 for-debian
.
├── README.md
├── app.py
├── config.py
├── doc
│ └── API.md
├── models.py
├── requirements.txt
├── routes
│ └── user.py
└── sql
├── CREATE_TABLE.sql
└── INSERT_DATA.sql
README.md: 项目说明文件app.py: 主应用程序文件config.py: 配置文件doc/API.md: API 文档models.py: 数据模型定义requirements.txt: 项目依赖列表routes/user.py: 用户路由定义sql/CREATE_TABLE.sql: 数据库表创建脚本sql/INSERT_DATA.sql: 数据库数据插入脚本
所有添加的依赖需要添加到 requirements.txt
flask
python-dotenv
Flask-SQLAlchemy
项目所有需要用到的环境变量写在 .env 中
DATABASE_URL=sqlite:///data.db通过 config.py 来读取配置相关的信息
import os
from dotenv import load_dotenv
load_dotenv()
class Config:
SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URL')
SQLALCHEMY_TRACK_MODIFICATIONS = False数据库相关的操作通过 Flask-SQLAlchemy 来进行
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f'<User {self.username}>'定义 python 的数据模型
数据库用 Flask-Migrate 管理
需要创建表的使用,生成迁移文件
flask db migrate -m "CREATE_***_TABLE"
# or
flask db migrate -m "CREATE_***_INDEX"更新结果到数据库中
flask db upgrade回滚最近的一次迁移操作
flask db downgrade更改代码前,执行 git pull 获取最新的代码
更改完成后,执行 git add --all 添加所有更改的文件
再执行 git commit -m "更改信息" 更改信息用翻译器为英文,要体现更改的东西
可以多次 commit,一次 push
commit 结束后,使用 git push 将本地的代码同步到 github 上
如果 git push 的操作出现问题,按照提示 git pull 处理好冲突后,重新 git push
