【发布时间】:2016-05-03 12:00:32
【问题描述】:
我正在尝试通过 JSONSchema 验证为 Restful API 启用 flask_inputs。 代码如下所示:
from flask_inputs import Inputs
from flask_inputs.validators import JsonSchema
def GetValidSchema():
schema = {
'type': 'object',
'properties': {
'name': {'type': 'string'}
}
}
return schema
class ApiResource(resource)
class ApiInputs(Inputs):
schema = InputsValidation.GetValidSchema() # this returns the JSON schema object
json = [JsonSchema(schema=schema)]
def post(self):
inputs =self.ApiInputs(request)
print inputs.validate()
api.add_resource(ApiResource,'/test')
当我试图追踪 WT-Forms 时,我真的需要一些帮助,但不幸的是,我无法明确得出为什么会出现以下错误的结论:
File "/home/seelview/run.py", line 153, in post
inputs.validate()
File "/usr/lib/python2.7/site-packages/flask_inputs/inputs.py", line 76, in validate
if not form.validate():
File "/usr/lib/python2.7/site-packages/wtforms/form.py", line 152, in validate
if not field.validate(self, extra):
File "/usr/lib/python2.7/site-packages/wtforms/fields/core.py", line 204, in validate
stop_validation = self._run_validation_chain(form, chain)
File "/usr/lib/python2.7/site-packages/wtforms/fields/core.py", line 225, in _run_validation_chain
validator(form, self)
TypeError: 'str' object is not callable
知道我做错了什么或缺少什么吗?
【问题讨论】:
-
请将您的程序简化为仍然显示错误的最简单的完整程序。将整个简短的程序复制粘贴到您的问题中。请参阅How to Ask 和minimal reproducible example 了解更多信息。
-
看看上面...这就是孔程序:)
-
我不认为这是整个程序。至少,当我运行该程序时,它只会产生错误。
-
是的,你是对的,我唯一没有添加的是烧瓶模块和 api 定义以及运行线......你也需要吗?
-
只需创建一个基本的烧瓶最小 api 添加 Api Resource 类并注意 GetValidSchema 因为当前是从另一个模块调用的......只需复制 ApiInputs 类中的模式对象并且应该可以工作。 ..
标签: python json flask flask-wtforms flask-restful