Skip to content

Ktovoz/demo-flask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

用户管理系统

一个基于 Flask 和 Bootstrap 5 构建的简洁、实用的用户管理系统,提供了完整的用户 CRUD 操作和现代化的用户界面。

Flask Python Bootstrap License

功能特性

  • 用户管理

    • 用户列表展示(支持分页)
    • 创建新用户
    • 编辑用户信息
    • 删除用户(带确认提示)
    • 查看用户详情
  • 搜索与筛选

    • 按用户名/邮箱/姓名搜索
    • 按状态筛选(活跃/停用)
  • 用户属性

    • 用户名(唯一)
    • 邮箱(唯一)
    • 姓名
    • 手机号码
    • 角色(管理员/普通用户)
    • 状态(活跃/停用)
    • 创建/更新时间
  • 安全特性

    • 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 包管理器

安装步骤

  1. 克隆仓库
git clone https://github.com/kto/demo-flask.git
cd demo-flask
  1. 创建虚拟环境
# Windows
python -m venv venv

# Linux/macOS
python3 -m venv venv
  1. 激活虚拟环境
# Windows
venv\Scripts\activate

# Linux/macOS
source venv/bin/activate
  1. 安装依赖
pip install -r requirements.txt
  1. 运行应用
python app.py

或使用 Flask 命令:

flask run
  1. 访问应用

打开浏览器访问:http://127.0.0.1:5000

使用说明

创建用户

  1. 点击导航栏的"新建用户"或首页的"新建用户"按钮
  2. 填写用户信息(带 * 为必填项)
  3. 点击"保存用户"

编辑用户

  1. 在用户列表中点击"编辑"按钮
  2. 修改用户信息
  3. 点击"更新用户"

删除用户

  1. 在用户列表中点击"删除"按钮
  2. 确认删除操作

搜索用户

  1. 在首页搜索框输入关键词(用户名/邮箱/姓名)
  2. 点击"搜索"按钮

筛选用户

  1. 选择状态筛选条件(活跃/停用)
  2. 系统自动更新列表

API 文档

获取用户列表

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: 每页显示数量

使用 MySQL 数据库

修改 config.py 中的数据库配置:

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://user:password@localhost/dbname'

使用 PostgreSQL 数据库

SQLALCHEMY_DATABASE_URI = 'postgresql://user:password@localhost/dbname'

开发

运行开发服务器

# 启用调试模式
export FLASK_DEBUG=1
python app.py

数据库迁移

首次运行会自动创建数据库和表结构。如需重置数据库:

rm app.db
python app.py

部署

生产环境建议

  1. 使用生产级 WSGI 服务器(如 Gunicorn)
pip install gunicorn
gunicorn -w 4 app:app
  1. 配置环境变量
export SECRET_KEY="your-secret-key"
export DATABASE_URL="your-database-url"
  1. 使用 Nginx 作为反向代理

  2. 启用 HTTPS

截图

用户列表 创建用户
列表页 创建页

贡献

欢迎提交 Issue 和 Pull Request!

作者

kto

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

致谢

About

flask的用户管理演示项目

Resources

Stars

Watchers

Forks

Contributors