【发布时间】:2021-02-24 21:51:59
【问题描述】:
我试图弄清楚为什么isinstance 似乎对我不起作用。是因为我使用的是字符串还是发布数据格式错误(我将其打印到输出,它看起来正确)
class Dogs(enum.Enum):
poodle= 'poodle'
terrier= 'terrier'
@blueprint.route('/test/<int:test_id>', methods=['post'])
def test(int:test_id):
data = request.json
print(data) #it's poodle
if isinstance(data, Dog):
return HTTPStatus.OK
return HTTPStatus.BAD_REQUEST
【问题讨论】:
-
这是因为您使用的是字符串。
data的类型是str,而不是Dog。您可能想改用this method 来检查枚举是否包含您想要的值。 -
旁注:你的枚举类被命名为
Dogs,你的测试是针对Dog的。复制时打错字?还是实际代码中的错误?
标签: python