快速开始 https://github.com/2412322029/fastapi_test/releases/tag/bulid
pip install --no-index --find-links=packages -r requirements.txt
python app.py
server
client
vite + ts
vue3 + vue-router + navie-ui
openapi-generate-typescript自动生成axios请求代码
markdown解析和高亮使用highlight.js,编辑器v-md-editor
feature
python app.py -h
查看docker部署nginx,mysql,python3.10,nginx反向代理/api路径(api都以/api开头)单独代理/docs,/openapi.json路径的api文档,/uploads路径挂载文件上传的目录其他路径匹配回退路由
├─static // vite构建目录
| ├─dist //nginx静态文件挂载
├─data/mysql //mysql数据,docker挂载目录
├─uploads //文件上传目录
├─utill //验证码生成/校验,cpu监控
├─api //fastapi子路由,数据校验模型
├─sql //数据库连接,crud代码,orm模型
├─config //读取配置文件,环境变量
├─app.py //fastapi主文件
├─config.yaml //主要是mysql信息,fasapi配置
├─...如其名
python>3.10 pip安装依赖
最好使用虚拟环境
pip install -r requirements.txt
导出
pip download -d packages/ -r requirements.txt
离线安装导入
pip install --no-index --find-links=packages -r requirements.txt
修改config.yaml
修改数据库用户名密码,创建数据库,数据库名填入dbname
修改默认用户名密码
python app.py
在 static 目录
npm install
npm run generate-client
git clone https://github.com/2412322029/fastapi_test
编译前端代码,git clone 后上传覆盖dist目录
docker-compose up -d
后端填写mysql数据库信息到配置文件,或通过环境变量(覆盖前者),配置跨域,pip安装依赖,启动app.py
在main.ts中,修改后端api的url, 图片baseurl
前端代码静态部署(处理回退路由)
修改config.yaml中的密钥,compose.yaml的mysql密码,保持mysql容器和python容器密码一致
nginx反向代理ws:
location /{
proxy_pass http://0.0.0.0:8000;
}
location /api/websocket/ {
proxy_hide_header X-Frame-Options;
proxy_pass http://0.0.0.0:8000;
#代理ws
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
最大文件上传限制:config.yaml中的是python代码中写的限制,还取决于nginx配置文件中client_max_body_size(10m)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。