zoukankan      html  css  js  c++  java
  • flask-restful

    parser = reqparse.RequestParser()
    这种方式采用查询字符串的方式获取前台数据
    request.get_json()
    这种方式采用获取json串的方式获取数据
    flask-restful架构的编码结构:
    flask:
            api:
                __init__.py
                module.py
                view.py
            main.py
    1、main.py
     1 from flask import Flask
     2 from flask_restful import Api
     3 from api.users.users_views import UserApi,UsersApi
     4 
     5 app = Flask(__name__)
     6 api = Api(app)
     7 
     8 api.add_resource(UsersApi, '/users/')
     9 api.add_resource(UserApi, '/users/<name>/')
    10 
    11 @app.route('/')
    12 def hello_world():
    13     return 'Hello World!'
    14 
    15 if __name__ == '__main__':
    16     app.run()
    17 #host='0.0.0.0',port=8080

    2.module.py

     1 list1 = [
     2     {'name':'test', 'mail':'123@123.com', 'passwd':'123456', 'phone':'110110110'}
     3 ]
     4 #get users list
     5 def get_users():
     6     return list1
     7 #add a user
     8 def add_users(info):
     9     username = info['name']
    10     a = test(username)
    11     if a == 1:
    12         return 'already have!'
    13     else:
    14         list1.append(info)
    15         return 'add!'
    16 #get a user
    17 def get_user(username):
    18     for i in range(len(list1)):
    19         if username in list1[i].values():
    20             return list1[i]
    21 #delete a user
    22 def delete_user(username):
    23     for i in range(len(list1)):
    24         if username in list1[i].values():
    25             del(list1[i])
    26             return 'done!'
    27 #exist test
    28 def test(username):
    29     for i in range(len(list1)):
    30         if username in list1[i].values():
    31             t = 1
    32             return t
    33 #change a user
    34 def change_user(info):
    35     username = info['name']
    36     usermail = info['mail']
    37     userpasswd = info['passwd']
    38     userphone = info['phone']
    39     b = test(username)
    40     if b != 1:
    41         return 'no one'
    42     else:
    43         delete_user(username)
    44         dict1 = {}
    45         dict1['name'] = username
    46         dict1['mail'] = usermail
    47         dict1['passwd'] = userpasswd
    48         dict1['phone'] = userphone
    49         list1.append(dict1)
    50         return 'changed!'

    3.view.py

     1 from flask_restful import reqparse, Resource
     2 from flask import request,jsonify
     3 import api.users.users_modules as modules
     4 
     5 parser = reqparse.RequestParser()
     6 parser.add_argument('name', type=str, required=True, help="Can't be empty!")
     7 parser.add_argument('mail')
     8 parser.add_argument('passwd')
     9 parser.add_argument('phone')
    10 
    11 class UsersApi(Resource):
    12     def get(self):
    13             result = modules.get_users()
    14             return jsonify(result)
    15     def post(self):
    16         data = parser.parse_args()
    17         result = modules.add_users(data)
    18         return jsonify(result)
    19     def put(self):
    20         data = parser.parse_args()
    21         result = modules.change_user(data)
    22         return jsonify(result)
    23 
    24 class UserApi(Resource):
    25     def get(self,name):
    26         result = modules.get_user(name)
    27         return jsonify(result)
    28     def delete(self,name):
    29         result = modules.delete_user(name)
    30         return jsonify(result)
    博文欢迎转载,转载请注明出处
  • 相关阅读:
    「2020 新手必备 」极速入门 Retrofit + OkHttp 网络框架到实战,这一篇就够了!
    结合源码,重温 Android View 的事件处理知多少 ?
    Android 这 13 道 ContentProvider 面试题,你都会了吗?
    17 个必须掌握的 BroadcastReceiver 知识点「建议收藏」
    23 个重难点突破,带你吃透 Service 知识点「长达 1W+ 字」
    Activity 的 36 大难点,你会几个?「建议收藏」
    Python time模块
    vue项目的创建
    githunb和码云生成/添加SSH公钥
    weex打包apk步骤
  • 原文地址:https://www.cnblogs.com/yinkemeng/p/13626686.html
Copyright © 2011-2022 走看看