IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Flask 学生信息管理 -> 正文阅读

[Python知识库]Flask 学生信息管理

需要安装的库

安装Flask pip install Flask
安装pip install flask_restful

完整代码如下

'''
实现学生信息管理
1,登录学生信息管理
2,查询所有学生信息
3,增加学生信息
4,删除学生信息
5,修改学生信息

'''


from flask import  Flask,jsonify
from flask_restful import Api,Resource,reqparse

app=Flask(__name__)
api=Api(app)

# 欢迎界面
class Hello_View(Resource):
    def get(self):
        return {'code':'200','data':'hello! weclome use student api!'}

api.add_resource(Hello_View,'/Hello/',endpoint='Hello')


# 登录
class Login_View(Resource):
    def get(self):
        return {'code':'200','data':'login_page'}

    def post(self):
        # 1. 创建RequestParser实例
        parser=reqparse.RequestParser()
        # 2. 添加验证参数
        # 第一个参数:传递的参数的名称;第二个参数(type): 验证参数的函数(可以自定义验证函数);
        # 第三个参数help返回提示;第四个参数 required 为必填参数
        parser.add_argument('username',type=str,help='username NOT NULL',required=True)
        parser.add_argument('password',type=str,help='password NOT NULL',required=True)

        #return jsonify(parser.parse_args()) # 返回获取到的传递参数

        args = parser.parse_args()
        if args['username'] != 'admin':
            return {'code':'200','data':'username is error'}
        elif args['password'] != '123':
            return {'code':'200','data':'password is error'}
        elif args['username'] == 'admin' and args['password'] == '123':
            return {'code':'200','data':'login_succeed','token':'ASd2asdAsdfq'}

api.add_resource(Login_View,'/Login/',endpoint='login')


# 查看所有学生信息
student_list = [
        {
            'id':'001',
            'sex':'1',
            'name':'xiaoming'
        },
        {
            'id':'002',
            'sex':'0',
            'name':'xiaohong'
        },
        {
            'id':'003',
            'sex':'1',
            'name':'xiaoqiang'
        }
    ]

@app.route('/student/',methods=['GET'])
def all_student():
    return jsonify({'student':student_list})



# 添加学生信息
class insert_student_View(Resource):
    def post(self):
        parser=reqparse.RequestParser()

        parser.add_argument('id',type=str,help='id NOT NULL',required=True)
        parser.add_argument('sex',type=str,help='sex NOT NULL',required=True)
        parser.add_argument('name',type=str,help='name NOT NULL',required=True)

        args = parser.parse_args()
    
        student = {
            'id':args['id'],
            'sex':args['sex'],
            'name':args['name'],
        }
        # 把获取的内容放入新建的字典
        student_update={}
        student_update['id']=student['id']
        student_update['sex']=student['sex']
        student_update['name']=student['name']

        # 获取student_list的id
        list_2 = []
        for i in student_list:
            list_2.append(i['id'])
        
        # student_list的id 和student_update的id比较
        if student_update['id'] in list_2:
            return {'code':'200','data':'ID exist ,insert fail'}
        else:
            student_list.append(student_update.copy())
            return {'code':'200','text':'insert success!','data':student_update}

api.add_resource(insert_student_View,'/insert_student/',endpoint='insert_student')


# 删除学生信息
class delete_student_View(Resource):
    def post(self):
        parser=reqparse.RequestParser()
        parser.add_argument('id',type=str,help='id NOT NULL',required=True)
        args = parser.parse_args()
        # 创建student list替换成传递参数,添加到student_list列表
        student = {
            'id':args['id'],
        }
        # 创建list,把需要删除的id添加至student_delete
        student_delete=[]
        student_delete.append(student['id'])
        # for 计算num次数
        num = 0
        for i in student_list:
            num = num + 1
            # student_list 的id 和 student_delete 获取的第一给元素匹配,如果等于就删除
            if i['id'] == student_delete[0]:
                del student_list[num-1]
                return {'code':'200','text':'delete success!','data':student_delete}
        
api.add_resource(delete_student_View,'/delete_student/',endpoint='delete_student')

# 修改学生信息
class update_student_View(Resource):
    def post(self):
        parser=reqparse.RequestParser()

        parser.add_argument('id',type=str,help='id NOT NULL',required=True)
        parser.add_argument('sex',type=str,help='sex NOT NULL',required=True)
        parser.add_argument('name',type=str,help='name NOT NULL',required=True)
        args = parser.parse_args()

        id = args['id']
        sex = args['sex']
        name = args['name']

        sum = 0
        for i in student_list:
            sum = sum + 1
            if i['id'] in id:    
                print('ok')
                print(sum)
                student_list[sum-1]['id']=id
                student_list[sum-1]['sex']=sex
                student_list[sum-1]['name']=name

        return {'code':'200','data':'update success!','id':id,'sex':sex,'name':name}


api.add_resource(update_student_View,'/update_student/',endpoint='update_student')

if __name__ == '__main__':
    app.run(debug=True)

资源已上传

https://download.csdn.net/download/qq_26086231/23561000

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 07:56:01  更:2021-09-19 07:56:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 16:28:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计