# ctext_flow **Repository Path**: jinkui1024/ctext_flow ## Basic Information - **Project Name**: ctext_flow - **Description**: 云端文字编辑器,构建便捷文字保存平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-06-06 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个python项目的框架,包含的内容有: - ORM数据库定义和数据迁移 - api接口、 url定义、路由处理 - api docs - 日志文件 - 代码规范检查 # 开发环境搭建 ## 环境准备 1. 安装python3.8及以上 2. 安装python虚拟环境(可选,推荐使用pyenv创建虚拟环境) 3. 安装docker ## 启动 mysql 数据库 ```shell docker run -itd --name mysql-dev -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql ``` 进入docker创建数据库,默认使用数据库名为test ## 安装项目依赖模块 进入虚拟环境 ```shell pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple ``` ## 安装代码检查工具 项目根目录下执行命令: ```shell pre-commit install ``` ## 启动服务 进入app目录下,执行脚本start.sh ```shell bash start.sh ``` ```shell app.json_encoder = JSONEncoder * Serving Flask app 'main' * Debug mode: on INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:8090 * Running on http://192.168.31.227:8090 INFO:werkzeug:Press CTRL+C to quit INFO:werkzeug: * Restarting with stat /Users/ljk/Documents/code/ctext_flow/app/main.py:10: DeprecationWarning: 'app.json_encoder' is deprecated and will be removed in Flask 2.3. Customize 'app.json_provider_class' or 'app.json' instead. app.json_encoder = JSONEncoder WARNING:werkzeug: * Debugger is active! INFO:werkzeug: * Debugger PIN: 266-973-489 ``` # 访问api doc http://127.0.0.1:8090/apidocs#/ ![img.png](static/api_doc.png) # 涉及数据库的修改 在项目中新建了表,修改了表结构,新增了字段等涉及到数据相关的操作,需要生成表结构迁移文件。步骤如下: 1. 修改表结构 2. 在 app/db/run_migrate.py 中 import 表的class,并添加到migrate_tables列表中 ```PYTHON # 需要迁移的数据库表, 所有数据新增、修改的都需要引入 migrate_tables = [demo_models] ``` 3. 执行命令生成表迁移文件 ```python python run_migrate.py create_migrate ``` 执行命令之后会在app/db/migrations 路径下生成相应的迁移文件。该文件会在start.sh脚本中自动执行,将DDL映射到msyql中 # 代码提交 代码提交会触发pre-commit规范检查,只有将所有不规范的代码修改符合规范才能提交。 如果存在规范之间互相冲突的情况,在代码后面添加注释`# noqa`可取消规范检查