# fastapi-web **Repository Path**: system/fastapi-web ## Basic Information - **Project Name**: fastapi-web - **Description**: 基于FastAPI构建的高效Web应用框架,专注于快速开发、RESTful API设计与现代Web服务部署,简化后端逻辑的同时提升性能与安全性。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: 20250422_basic - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-27 - **Last Updated**: 2025-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FastAPI 后台管理系统 基于FastAPI构建的高效Web应用框架,专注于快速开发、RESTful API设计与现代Web服务部署,简化后端逻辑的同时提升性能与安全性。 ## 功能特点 - 用户管理:用户的增删改查,状态管理 - 菜单管理:菜单的增删改查,支持树形结构 - 权限管理:基于菜单的权限分配,可为用户分配菜单权限 - JWT认证:使用JWT进行用户身份验证 - 响应式界面:基于Bootstrap 5的响应式界面设计 ## 技术栈 - **后端**:FastAPI + Pydantic + SQLAlchemy + SQLite - **前端**:HTML + JavaScript + Bootstrap 5 + jQuery - **认证**:JWT (JSON Web Token) - **数据库**:SQLite ## 环境要求 **重要提示**:本项目使用的依赖包与Python版本的兼容性关系如下: - Python 3.8 - 3.10 (推荐 3.10) - FastAPI 0.95.0 - Pydantic 1.10.7(不要使用Pydantic 2.x,会导致不兼容) - SQLAlchemy 1.4.46(如果使用2.x版本可能会有兼容性问题) ## 项目结构 ``` fastapi-web/ ├── app/ # 应用目录 │ ├── database/ # 数据库相关 │ ├── models/ # 数据库模型 │ ├── routers/ # API路由 │ ├── schemas/ # Pydantic模型 │ ├── static/ # 静态文件 │ ├── templates/ # HTML模板 │ ├── utils/ # 工具函数 │ └── main.py # FastAPI应用实例 ├── requirements.txt # 项目依赖 └── main.py # 入口文件 ``` ## 安装使用 1. 确保你使用的是Python 3.8-3.10版本: ```bash python --version ``` 2. 克隆仓库: ```bash git clone https://github.com/yourusername/fastapi-web.git cd fastapi-web ``` 3. 安装兼容的依赖版本: ```bash # 如果requirements.txt中的版本有兼容性问题,请使用以下命令安装兼容的版本 pip install fastapi==0.95.0 uvicorn==0.21.1 sqlalchemy==1.4.46 pydantic==1.10.7 python-jose==3.3.0 passlib==1.7.4 python-multipart==0.0.6 jinja2==3.1.2 bcrypt==4.0.1 aiofiles==23.1.0 ``` 4. 初始化数据库: ```bash python init_db.py ``` 5. 运行应用: ```bash python main.py ``` 6. 访问应用: 打开浏览器访问 http://localhost:8000 即可看到登录页面。 ## 初始管理员账号 初始化脚本会创建一个管理员账号: - 用户名:admin - 密码:admin 如果遇到初始化数据库问题,请手动创建管理员账号: 1. 运行应用 `python main.py`(此时会自动创建数据库表) 2. 访问 http://localhost:8000/register 注册一个账号 3. 使用SQLite工具打开app.db文件,执行以下SQL将用户设为管理员并激活: ```sql UPDATE sys_user SET is_admin = 1, is_active = 1 WHERE name = '你注册的用户名'; ``` ## 常见问题解决 1. **SQLAlchemy错误**:如遇到SQLAlchemy相关错误,尝试降级到1.4版本: ```bash pip install sqlalchemy==1.4.46 ``` 2. **Pydantic错误**:确保使用的是1.x版本的Pydantic: ```bash pip install pydantic==1.10.7 ``` 3. **缺少模块错误**:确保所有依赖都已安装: ```bash pip install -r requirements.txt ``` 4. **数据库初始化失败**:如果init_db.py运行失败,可以手动创建管理员账号,如上文所述。 ## API文档 FastAPI自动生成的API文档地址:http://localhost:8000/docs ## License MIT