Go to file
chenwj 65609f7418 bugfix: 修复sqlalchemy执行方法版本固定导致的错误 2023-01-18 11:12:53 +08:00
conf fix: 优化项目模板 2023-01-07 15:20:38 +08:00
src bugfix: 修复sqlalchemy执行方法版本固定导致的错误 2023-01-18 11:12:53 +08:00
test fix: 重置开发模板 2023-01-06 14:39:08 +08:00
.dockerignore fix: 优化项目模板 2023-01-07 15:20:38 +08:00
.gitignore fix: 优化项目模板 2023-01-07 15:20:38 +08:00
.gitlab-ci.yml fix: 重置开发模板 2023-01-06 14:39:08 +08:00
Dockerfile fix: 修改Dockerfile模板 2023-01-06 14:47:53 +08:00
README.md fix: 优化项目模板 2023-01-07 15:20:38 +08:00
config.py fix: 增加数据库SQL相关操作 2023-01-06 17:44:25 +08:00
main.py fix: 文件重命名 2023-01-16 17:01:00 +08:00
requirements.txt fix: 优化项目模板 2023-01-07 15:20:38 +08:00
start.bat fix: 启动脚本增加端口号 2023-01-06 14:49:53 +08:00
start.sh fix: 启动脚本增加端口号 2023-01-06 14:49:53 +08:00

README.md

FastAPI App 文档

0 开发说明

Python(3.8.6+) and pip(20.2.4+)

开发命名规范

  • 避免采用的名字 不要使用字符l小写字母elO大写字母ohI大写字母eye作为单字符变量名。
  • 包名和模块名 模块名应该短所有的字母小写。可以在模块名中使用下划线来提高可读性。Python包名也应该短所有的字母小写不鼓励使用下划线。
  • 类名 类名通常使用首字母大写字符串的规则。
  • 函数名 函数名应该是小写字母,必要时单词用下划线分开以提高可读性。
  • 函数和方法参数 使用self做实例化方法的第一个参数使用cls做类方法的第一个参数。如果函数的参数名与保留关键字冲突最好是为参数名添加一个后置下划线而不是使用缩写或拼写错误。因此class_ 比clss好。也许使用同义词来避免更好

1 配置conf文件

(没有的话需要自己创建,放在conf文件夹下级)

===================== conf-dev.ini =========================
[common]
static_folder=./static
template_folder=./templates

[mysql]
username=admin
password=123456
host=localhost
port=3306
database=test

2 开发环境下安装依赖和运行项目

pip install -r requirements.txt
./start.bat (windows)
./start.sh (mac)

3 models文件夹下的SQLAlchemy Model代码生成

安装完依赖库后,即可通过命令行工具直接生成,无须手写。 例子参考如下:
sqlacodegen.exe --tables permission_info --outfile .\Desktop\fastapi_app\models\permission_info.py mysql+pymysql://chenwj:123456@localhost/waterv3?charset=utf8

4 各个目录和文件备注

    conf    *配置文件目录
    |--- conf-dev.ini  *开发环境配置文件
    |--- conf-prod.ini *生产环境配置文件
    |--- log.ini       *日志配置文件
    files   *上传文件目录
    logs    *日志文件目录
    src     *源码目录
    |--- api        *接口目录
    |--- biz        *逻辑目录 
    |--- dtos       *接口参数和返回值目录
    |--- models     *数据model目录
    |--- utils      *工具类目录
        |--- captcha_tools      *验证码
        |--- common_tools       *常规
        |--- exception_tools    *异常处理
        |--- file_upload_tools  *文件上传
        |--- qiniu_tools        *七牛
        |--- sms_tools          *短信    
    static  *静态文件目录
    test    *测试目录
    .gitlab-ci.yml      * CI/CD文件
    main.py             *入口文件
    config.py           *配置入口文件
    Dockerfile          *dockerfile容器文件
    requirements.txt    *依赖包安装文件
    start.bat           *Windows开发环境下启动文件
    start.sh            *Unix开发环境下启动文件