上面只是一个例子,我记得教程里说过,前端传来的数据都是不安全的,需要进行验证
而这个不是表单提交,没有直接的插件类可以使用
如果我来做,就只能自己创建一个验证类,使用正则进行验证,将其导入需要验证的文件使用即可
同时类中的方法没有实例化就使用,是不是需要全部用 @staticmethod 修饰作为静态方法,感觉 python 不需要这样,直接定义类中的方法即可,求指点
写到这里,我觉得肯定有人已经把这个类写好了,求告知
1
Eds1995 2018-02-28 23:16:36 +08:00 via Android
可以试一下这个库 marshmallow
|
2
knightdf 2018-03-01 00:02:00 +08:00
marshmallow +1
|
3
DeanThompson 2018-03-01 00:13:22 +08:00 via iPhone
marshmallow 或 jsonschema
|
4
mgsparrow 2018-03-01 01:39:49 +08:00 via iPhone
sqlalchemy 可以嗎
|
5
lbfeng 2018-03-01 01:45:30 +08:00
|
6
ligyxy 2018-03-01 05:57:14 +08:00
|
7
huahuajun9527 2018-03-01 10:27:57 +08:00
不用 @staticmethod 可以这样做,把这些验证方法全都写到一个文件里,import 进来,然后 模块名.方法名 就好了。
from jsonschema import validate schema = { "type": "object", "properties": { "phone_number": { "type": "string", "pattern": "^1\d{10}$", "description": "手机号码" }, "username": { "type": "string", "pattern": "^[\w]{4,20}$", "description": "用户名" } }, "required": ["phone_number", "username"] } param = {'phone_number': '12345678910', 'username': '10086'} try: validate(param, schema) except Exception as e: print(e.message) |
8
zhao6217 2018-03-01 15:43:08 +08:00
直接使用 flask 中自带的 request 不就好了,from flask import request,request.get_json 方法能够帮助将请求体的 json 数据转换为字典,直接使用字典的 get 方法取得数据,再判断不就好了,专门搞个模块出来,感觉没什么用啊
|
9
srlp 2018-03-02 13:02:35 +08:00 via iPhone
补充一下,
> 同时类中的方法没有实例化就使用,是不是需要全部用 @staticmethod 修饰作为静态方法,感觉 python 不需要这样,直接定义类中的方法即可,求指点 需要 @ 。 但是!**python 并不是 java**,不需要把所有方法都写到类里面的! 可能更好的方法:把方法写在同一个模块(文件)的类 **外面**,作为一个独立函数即可。 |