# Practice_flask **Repository Path**: ccvincent/practice_flask ## Basic Information - **Project Name**: Practice_flask - **Description**: flask学习项目 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-27 - **Last Updated**: 2025-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flask 实践项目说明文档 码云自动生成的20250628 这是一个基于 Flask 框架开发的 Web 应用程序,主要用于用户登录、注册、密码重置以及图书信息展示。项目集成了 Bootstrap 5 框架以提供现代化的前端界面。 ## 项目特点 - 使用 Flask 作为后端框架 - 使用 Bootstrap 5 提供响应式前端界面 - 包含用户认证功能(登录、注册、密码重置) - 图书信息展示页面 ## 文件结构 ``` Practice_flask_0619/ ├── static/ # 静态资源文件夹 │ ├── bootstrap5/ # Bootstrap 5 的 CSS 和 JS 文件 │ └── icon/ # 项目图标资源 ├── templates/ # HTML 模板 │ ├── login/ # 登录相关页面模板 │ ├── index.html # 主页模板 │ └── layout.html # 页面布局模板 ├── views/ # Flask 视图模块 │ ├── acount.py # 用户账户相关视图(登录、注册、重置) │ └── book_list.py # 图书列表视图 ├── utils/ # 工具模块 │ └── db.py # 数据库操作工具函数 ├── __init__.py # Flask 应用初始化 └── app.py # 应用启动文件 ``` ## 安装与运行 1. 确保已安装 Python 和 pip 2. 安装依赖包: ``` pip install flask ``` 3. 确保数据库配置正确(查看 `utils/db.py` 中的数据库连接设置) 4. 运行应用: ``` python app.py ``` 5. 在浏览器中访问 `http://127.0.0.1:5000/` ## 功能说明 ### 用户账户功能 - **登录**:`/login` 路由处理用户登录请求 - **注册**:`/user/register` 路由处理新用户注册 - **密码重置**:包含 `/user/forgot` 和 `/user/reset_sent` 路由处理密码重置流程 ### 图书管理功能 - **主页**:`/` 和 `/index` 路由展示图书列表 - **上传**:`/upload` 路由处理图书信息上传(GET 和 POST 请求) ### 数据库工具 - `fetch_one(sql, params)`:获取单条数据库记录 - `fetch_all(sql, params)`:获取所有匹配的数据库记录 - `reset_one(sql,params)`:执行更新或删除操作 - `insert_one(sql,params)`:执行插入操作 ## 认证机制 `book_list.py` 文件中定义了 `auth` 装饰器,用于保护需要登录才能访问的路由。 ## 模板说明 - `layout.html`:基础布局模板,包含导航栏等通用元素 - `index.html`:主页模板,展示图书列表 - `login.html`:登录页面模板 - `register.html`:注册页面模板 - `forgot.html`:忘记密码页面模板 - `reset.html`:密码重置页面模板 ## 注意事项 - 项目使用了简单的数据库操作函数,确保数据库连接信息正确配置 - 所有静态资源通过 Bootstrap 5 提供 - 项目使用了基本的表单验证功能 该项目适合作为 Flask 学习的实践示例,展示了如何整合前后端功能,实现基本的 Web 应用程序。