14 # Override base RequestHandler$
15 """$
16 class BaseHandler(tornado.web.RequestHandler):$
17 def get_current_user(self):$
18 """ To get `tornado-auth mechanism` """$
19 userid = self.get_secure_cookie("userid", None)$
20 if userid:$
21 return userid$
22 else:$
23 return None$
24 $
25 def get_data(self, data_list):$
26 """ Work like django.Form or Java_get_data by a class """$
27 rst = {d: self.get_argument(d, None) for d in data_list}
我只需要在调用 self.get_data()
方法的时候,传入 data_list=('var1', 'var2')
,
就能一次获得所有数据,然后当做字典使用了
1
FreeBTC123 2015-01-05 14:35:56 +08:00
forms不仅仅能拿数据, 还能校验数据的哦,tornado 想用的话, 推荐[WTForms](http://tt4it.com/resources/discuss/1599/)
|
2
1989922yan OP |
3
felixzhu 2015-01-06 10:08:26 +08:00
完全没关系,form是用来把一个表单提交绑定到一个对象,可以做校验和保存,现在做rest API的时候其实有点不太一样,一般都会自己重新做一层来做这个校验和错误返回
|
4
1989922yan OP |
5
yegle 2015-01-07 05:41:03 +08:00
@1989922yan 以我之前的经验,REST API的field name和model并不一一绑定,不能直接使用从class生成的form handler,不如重写…
|