# flask-学生信息管理系统 **Repository Path**: shyanglin/flask-student-information-management-system ## Basic Information - **Project Name**: flask-学生信息管理系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-09-22 - **Last Updated**: 2022-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flask-学生信息管理系统 ![](https://img.shields.io/badge/python-3.6+-green)   ![](https://img.shields.io/badge/mysql-5.7.26+-green) ## 代码目录 ``` ├─assets # README图片 ├─info # 应用 │ ├─auth # 登录注册 │ ├─index # 主页面 ├─logs # 日志文件 ├─static # 静态资源文件 │ ├─js # js 文件 │ └─layui # layui模块 ├─templates # 静态模板文件 │ ├─admin # 主页面 │ ├─auth # 登录验证 │ ├─change_password # 密码修改 │ └─information # 个人信息 ├─extensions.py # 拓展文件 ├─model.py # 数据模型 ├─configs.py # 配置文件 ├─README.md # 自述文件 ├─requirements.txt # 第三方库 ``` ## 源码下载 ``` git clone http://gitee.com/admin-workshop/flask-student-information-management-system.git ``` ## 运行方式 ``` flask run ``` ## 代码逻辑 ### 前端 #### admin(/admin) ##### 主页面 layui表头,如图
![](assets/Snipaste_2022-03-13_17-29-26.png)
layui表格加载,如图 ![](assets/Snipaste_2022-03-13_17-05-59.png) #### 身份验证(/auth) ##### 登录(/auth/login) ![](assets/Snipaste_2022-03-13_17-36-21.png)
##### 注册(/auth/register) ![](assets/Snipaste_2022-03-13_17-38-07.png)
#### 个人信息 ##### 修改个人信息(/admin_information) ![](assets/Snipaste_2022-03-19_12-59-59.png) ##### 查看个人信息(/admin_personal) ![](assets/Snipaste_2022-03-19_14-04-01.png) ### 后端 #### 登录(/auth/login, 仅展示post请求) ```python # username和password从RequestParser获取 from model import User from flask_login import login_user user = User.query.filter_by(username=username, password=password) # 查找用户 if user: # 用户存在 login_user(user) else: '''返回弹窗页面''' ``` #### 注册(/auth/register, 仅展示post请求) ```python from flask_restful.reqparse import RequestParser from model import User, db parser = RequestParser() parser.add_argument('username', location='form') parser.add_argument('password', location='form') # ... res = parser.parse_args() user_data = { 'username': res.username, 'password': res.password, 'city': res.city, # .... } user = User(**user_data) db.session.add(user) db.session.commit() # 返回登录 ``` #### 主页面 ##### api ###### /students 学生列表,返回结果: ```python {"code": 0, "message": "", "count": count, "data": [{}, {}], 'success': True} ``` ###### /change_table 修改学生信息,贴出核心代码 ```python parser = RequestParser() parser.add_argument('name', location='form') parser.add_argument('chinese', location='form', type=int) parser.add_argument('math', location='form', type=int) parser.add_argument('english', location='form', type=int) args = parser.parse_args() # 获取表单数据 student.name = args.name student.chinese = args.chinese student.math = args.math student.english = args.english print(student) db.session.commit() ``` ###### /add 添加学生数据 ```python student = Student(**{ 'name': request.form.get('name'), 'chinese': request.form.get('chinese', type=int), 'math': request.form.get('math', type=int), 'english': request.form.get('english', type=int) }) db.session.add(student) db.session.commit() ``` ###### /delete 删除学生数据 ```python name = request.args.get('name') student = Student.query.filter_by(name=name).first() db.session.delete(student) db.session.commit() ``` ##### 非api /admin 主页面 #### 修改个人信息 同样地,也是用RequestParser,此处不再赘述,代码贴上: ```python parser = RequestParser() parser.add_argument('username', location='form') parser.add_argument('password', location='form') parser.add_argument('city', location='form') parser.add_argument('hobby', location='form') parser.add_argument('sex', location='form') parser.add_argument('text', location='form') res = parser.parse_args() for k, v in res.items(): setattr(current_user, k, v) return redirect('/admin') ``` #### 查看个人信息 仅返回主页面 # 贡献者 [![](assets/avatar_ge-baichen.png)](http://gitee.com/ge-baichen_admin) [![](assets/avatar_linziran.png)](http://gitee.com/linziran)