报错'ClientTypeEnum' object has no attribute 'data'

来源:4-5 完成客户端注册

西域战神

2018-05-27

经过调试在validator_type中将self.type 转化为了ClientType类型,但是在视图函数中调用form.type.data此时会报错。因为此时form.type是ClientType是枚举,没有.data属性。可通过取在promise中的枚举类型的value作为key,然后promise[form.type.value]来执行函数。或者直接使用form.data

http://img.mukewang.com/szimg/5b0a88e20001bd8811280313.jpg

http://img.mukewang.com/szimg/5b0a88e20001309609910327.jpg



写回答

2回答

慕莱坞2377110

2018-07-07

同问,没有data属性,打印出来的//img.mukewang.com/szimg/5b409b9f00015e0905860223.jpg

//img.mukewang.com/szimg/5b409bb4000115bf05510138.jpg

那为什么老师的代码可以通过,是我代码打漏了什么吗?

0
0

慕仰8127278

2018-05-28

if form.validate():
    promise = {
        ClientTypeEnum.USER_EMAIL: __register_user_by_email,
    }
    promise[form.type.data]()


0
2
慕仰8127278
回复
你那矫情的小眼神
ClientTypeEnum是枚举类型
2018-06-10
共2条回复

Python Flask高级编程之RESTFul API前后端分离精讲

RESTFul+权限管理+token令牌+扩展flask=提升编程思维

2037 学习 · 359 问题

查看课程