# flask_blog **Repository Path**: lixingwu/flask_blog ## Basic Information - **Project Name**: flask_blog - **Description**: flask 博客案例 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-08 - **Last Updated**: 2022-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flask博客项目 ## 一、项目管理 ### 1. 切换pypi源为阿里云 ```bash pdm config pypi.url https://mirrors.aliyun.com/pypi/simple # 输出配置的结果 pdm config pypi.url ``` ### 2. 安装依赖包 ```bash pdm install ``` ### 3. 查看管理脚本列表 ```bash pdm run --list ``` ### 4. 启动项目 ```bash pdm run start ``` ## 二、数据库同步 ### 1. 环境变量配置 Windows下使用 `git bash` 执行。 ```bash # 配置flask命令所在目录 export PATH=$PATH:/d/develop/flask_blog/.venv/Scripts/ # 配置flask参数 export FLASK_APP='app' export FLASK_DEBUG='1' ``` ### 2. 初始化数据库 ```bash # 先删除migrations文件夹 rm -rf migrations/ # 再初始化数据库 flask db init ``` ### 3. 生成迁移脚本 ```bash flask db migrate ``` ### 4. 更新数据库 ```bash flask db upgrade ``` > 在初始化和生成迁移脚本后,需要执行更新数据库,不然迁移不生效。 ## 三、api请求地址 api放在apifox中,链接地址,可公开访问。 ```http request https://www.apifox.cn/apidoc/shared-bd33e79b-ab7f-4875-a5a8-d38ad6b2f77f ``` ## 四、功能列表 - 项目只有后台管理接口,没有前端页面 - 角色管理,使用装饰器校验 - 权限管理,使用装饰器校验 - 用户管理 - 登录日志 - ip黑白名单 - 本地缓存集成 - jwt认证 - 接口全使用JSON交互 - 集成限流器,限制接口频率 - 全局异常处理 - 集成Ip2Region,ip地址解析 - 博客业务模块 - 分类管理 - 标签管理 - 文章管理 - 博客业务开放接口,带缓存 > 具体功能请访问api文档。 ## 五、项目目录说明 无关紧要的文件不作说明。 ```text flask_blog ├─.venv 虚拟环境 ├─app │ ├─admin 后台管理模块 │ ├─auth 认证模块 │ ├─blog 博客开放接口 │ ├─common │ │ ├─enums.py 枚举类 │ │ ├─settings.py 系统全局配置类 │ │ └─utils.py 工具类 │ ├─error │ │ └─handler_global_exception.py 全局异常处理 │ ├─form 表单验证 │ └─models SQLAlchemy数据模型 ├─data │ └─ip2region.xdb ip2region IP数据库文件 ├─.pdm.toml 包管理虚拟环境配置 ├─pyproject.toml 包管理项目配置 ├─setup.py 项目启动类 └─migrations 数据库同步脚本 ``` ## 六、数据库模型图 ![数据库结构图.png](./data/数据库结构图.png)