flask-restful

摘要:
'13else:14list1.append(info)15return'add!'16#getauser17defget_user(username):18foriinrange(len(list1)):19ifusernameinlist1[i].values():20returnlist1[i]21#deleteauser22defdelete_user(username):23foriinrange(len(list1)):24ifusernameinlist1[i].values():25del(list1[i])26return'done!'27#existtest28deftest(username):29foriinrange(len(list1)):30ifusernameinlist1[i].values():31t=132returnt33#changeauser34defchange_user(info):35username=info['name']36usermail=info['mail']37userpasswd=info['passwd']38userphone=info['phone']39b=test(username)40ifb!=1:41return'noone'42else:43delete_user(username)44dict1={}45dict1['name']=username46dict1['mail']=usermail47dict1['passwd']=userpasswd48dict1['phone']=userphone49list1.append(dict1)50return'changed!
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 importFlask
2 from flask_restful importApi
3 from api.users.users_views importUserApi,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 defhello_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 defget_users():
6     returnlist1
7 #add a user
8 defadd_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 defget_user(username):
18     for i inrange(len(list1)):
19         if username inlist1[i].values():
20             returnlist1[i]
21 #delete a user
22 defdelete_user(username):
23     for i inrange(len(list1)):
24         if username inlist1[i].values():
25             del(list1[i])
26             return 'done!'
27 #exist test
28 deftest(username):
29     for i inrange(len(list1)):
30         if username inlist1[i].values():
31             t = 1
32             returnt
33 #change a user
34 defchange_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 importreqparse, Resource
2 from flask importrequest,jsonify
3 importapi.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 classUsersApi(Resource):
12     defget(self):
13             result =modules.get_users()
14             returnjsonify(result)
15     defpost(self):
16         data =parser.parse_args()
17         result =modules.add_users(data)
18         returnjsonify(result)
19     defput(self):
20         data =parser.parse_args()
21         result =modules.change_user(data)
22         returnjsonify(result)
23 
24 classUserApi(Resource):
25     defget(self,name):
26         result =modules.get_user(name)
27         returnjsonify(result)
28     defdelete(self,name):
29         result =modules.delete_user(name)
30         return jsonify(result)

免责声明:文章转载自《flask-restful》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS7 监控网络流量service之class core和class main下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

thinkphp3.2配置redis缓存和文件缓存

如果您将一些常用但不易更改的数据存储在缓存中,而不是每次检查数据库,则可以大大减轻数据库的压力。最近,由于项目的需要,您尝试了Redis,但后来使用tp3.2文件缓存直接进入主题:在config中添加以下代码。php:“DATA_CACHE_PREFIX”=˃“tp”,//缓存前缀“DATA_CCACHE_TYPE”=˃“Redis”,//高速缓存类型“Re...

微信扫码网页登录,redirect_uri参数错误解决方法

对于微信开放平台[管理中心/应用程序详细信息]中设置的[开发信息][授权回调域],只需填写域名,无需https://,也无需特定页面。您不需要填写完整的请求路径,如图所示:https://open.weixin.qq.com/connect/qrconnect?appid=您的APPID&direct_Uri=回调和响应的特定地址_type=code...

VMP加壳(三):VMP壳爆破实战-破解某编辑类软件

同时,记住在内存视图中向VMP0段提供断点后继续单击确认按钮,以查看调用方法的位置(此处的返回地址为0x5E01E9),但此处返回push(或vm条目)。这个地方会是验证码检测的入口吗!通过字符串查找各种键提示(sn、不正确注册等)的内存:通过访问断点查找键代码,然后找出调用该函数的函数,这与JCC指令的距离更远。...

WPF绑定功能常用属性介绍

这是实质上是System.Windows.Data.BindingMode.OneWay绑定的一种简化形式,它在源值不更改的情况下提供更好的性能。确定依赖属性绑定在默认情况下是单向还是双向的编程方法是:使用System.Windows.DependencyProperty.GetMetadata获取属性的属性元数据,然后检查System.Windows.Fr...

PX4 飞控源码系统框架介绍

该部分主要是PX4系统的使用的所有的数据结构的集合部分,各种任务和sensor驱动中需要获取的sensor数据都在此部分,还包含各种运行状态的数据结构。...

layui table 打印表格

例如,layui的表单打印方法是将表单的数据重新组合成新页面,但它只能打印当前页面的内容。仅仅说实话是不够的。我整个上午都找到了一些,并说他们自己换了,但他们并不满意。这没用。我只能打印当前页面的内容。我的想法是编写一个函数,传递显示的列和要打印的数据,然后直接打印。不要胡说八道。直接转到代码。...