# FastAPI App 文档 ## 0 开发说明 Python(3.8.6+) and pip(20.2.4+) ### 开发命名规范 > * 避免采用的名字 > 不要使用字符‘l’(小写字母el),‘O’(大写字母oh)或‘I’(大写字母eye)作为单字符变量名。 > * 包名和模块名 > 模块名应该短,所有的字母小写。可以在模块名中使用下划线来提高可读性。Python包名也应该短,所有的字母小写,不鼓励使用下划线。 > * 类名 > 类名通常使用首字母大写字符串的规则。 > * 函数名 > 函数名应该是小写字母,必要时单词用下划线分开以提高可读性。 > * 函数和方法参数 > 使用self做实例化方法的第一个参数,使用cls做类方法的第一个参数。如果函数的参数名与保留关键字冲突,最好是为参数名添加一个后置下划线而不是使用缩写或拼写错误。因此class_ 比clss好。(也许使用同义词来避免更好)。 ## 1 配置conf文件 > (没有的话需要自己创建,放在conf文件夹下级) ``` bash ===================== conf-dev.ini ========================= [common] static_folder=./static template_folder=./templates [mysql] username=admin password=123456 host=localhost port=3306 database=test ``` ## 2 开发环境下安装依赖和运行项目 ``` bash pip install -r requirements.txt ./start.bat (windows) ./start.sh (mac) ``` ## 3 models文件夹下的SQLAlchemy Model代码生成 ```bash 安装完依赖库后,即可通过命令行工具直接生成,无须手写。 例子参考如下: 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 *上传文件目录 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开发环境下启动文件