一个基于 Flask 和 Bootstrap 5 构建的简洁、实用的用户管理系统,提供了完整的用户 CRUD 操作和现代化的用户界面。
-
用户管理
- 用户列表展示(支持分页)
- 创建新用户
- 编辑用户信息
- 删除用户(带确认提示)
- 查看用户详情
-
搜索与筛选
- 按用户名/邮箱/姓名搜索
- 按状态筛选(活跃/停用)
-
用户属性
- 用户名(唯一)
- 邮箱(唯一)
- 姓名
- 手机号码
- 角色(管理员/普通用户)
- 状态(活跃/停用)
- 创建/更新时间
-
安全特性
- CSRF 保护
- SQL 注入防护
- 表单验证
-
API 接口
- RESTful API 支持
- JSON 数据格式
| 技术 | 版本 | 说明 |
|---|---|---|
| Flask | 3.0.0 | Web 框架 |
| Flask-SQLAlchemy | 3.1.1 | ORM |
| Flask-WTF | 1.2.1 | CSRF 保护 |
| Flask-Bootstrap | 3.1.1 | UI 框架 |
| SQLite | - | 数据库(开发环境) |
demo-flask/
├── app.py # Flask 应用主文件
├── models.py # 数据库模型定义
├── config.py # 应用配置
├── requirements.txt # Python 依赖
├── templates/ # Jinja2 模板
│ ├── base.html # 基础模板
│ ├── index.html # 用户列表页
│ ├── create.html # 创建用户页
│ ├── edit.html # 编辑用户页
│ └── view.html # 用户详情页
└── app.db # SQLite 数据库(运行后生成)
- Python 3.8 或更高版本
- pip 包管理器
- 克隆仓库
git clone https://github.com/kto/demo-flask.git
cd demo-flask- 创建虚拟环境
# Windows
python -m venv venv
# Linux/macOS
python3 -m venv venv- 激活虚拟环境
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activate- 安装依赖
pip install -r requirements.txt- 运行应用
python app.py或使用 Flask 命令:
flask run- 访问应用
打开浏览器访问:http://127.0.0.1:5000
- 点击导航栏的"新建用户"或首页的"新建用户"按钮
- 填写用户信息(带 * 为必填项)
- 点击"保存用户"
- 在用户列表中点击"编辑"按钮
- 修改用户信息
- 点击"更新用户"
- 在用户列表中点击"删除"按钮
- 确认删除操作
- 在首页搜索框输入关键词(用户名/邮箱/姓名)
- 点击"搜索"按钮
- 选择状态筛选条件(活跃/停用)
- 系统自动更新列表
GET /api/users
响应示例:
{
"success": true,
"data": [
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"full_name": "管理员",
"phone": "13800138000",
"status": "active",
"role": "admin",
"created_at": "2026-01-25 10:00:00",
"updated_at": "2026-01-25 10:00:00"
}
]
}GET /api/users/{id}
编辑 config.py 文件可修改以下配置:
SECRET_KEY: Flask 密钥(生产环境请修改)SQLALCHEMY_DATABASE_URI: 数据库连接字符串ITEMS_PER_PAGE: 每页显示数量
修改 config.py 中的数据库配置:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://user:password@localhost/dbname'SQLALCHEMY_DATABASE_URI = 'postgresql://user:password@localhost/dbname'# 启用调试模式
export FLASK_DEBUG=1
python app.py首次运行会自动创建数据库和表结构。如需重置数据库:
rm app.db
python app.py- 使用生产级 WSGI 服务器(如 Gunicorn)
pip install gunicorn
gunicorn -w 4 app:app- 配置环境变量
export SECRET_KEY="your-secret-key"
export DATABASE_URL="your-database-url"-
使用 Nginx 作为反向代理
-
启用 HTTPS
| 用户列表 | 创建用户 |
|---|---|
![]() |
![]() |
欢迎提交 Issue 和 Pull Request!
kto
本项目采用 MIT 许可证 - 详见 LICENSE 文件

