1. 程式人生 > 實用技巧 >flask-restful

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':'[email protected]', '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)