V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
1989922yan
V2EX  ›  Python

tornado 中,我这样的实现,是不是实现了 django 的 form??

  •  
  •   1989922yan · 2015-01-05 13:08:54 +08:00 · 3224 次点击
    这是一个创建于 3644 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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')

    就能一次获得所有数据,然后当做字典使用了

    5 条回复    2015-01-07 05:41:03 +08:00
    FreeBTC123
        1
    FreeBTC123  
       2015-01-05 14:35:56 +08:00
    forms不仅仅能拿数据, 还能校验数据的哦,tornado 想用的话, 推荐[WTForms](http://tt4it.com/resources/discuss/1599/)
    1989922yan
        2
    1989922yan  
    OP
       2015-01-05 15:06:22 +08:00
    @FreeBTC123
    校验?
    类型校验?
    还是啥?
    felixzhu
        3
    felixzhu  
       2015-01-06 10:08:26 +08:00
    完全没关系,form是用来把一个表单提交绑定到一个对象,可以做校验和保存,现在做rest API的时候其实有点不太一样,一般都会自己重新做一层来做这个校验和错误返回
    1989922yan
        4
    1989922yan  
    OP
       2015-01-06 10:17:02 +08:00
    @felixzhu
    其实绑定对象,这个我已经做了。

    能不能详细说说,''' 现在做rest API的时候其实有点不太一样,一般都会自己重新做一层来做这个校验和错误返回 '''
    这段,能给个例子补?
    yegle
        5
    yegle  
       2015-01-07 05:41:03 +08:00
    @1989922yan 以我之前的经验,REST API的field name和model并不一一绑定,不能直接使用从class生成的form handler,不如重写…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3023 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:03 · PVG 19:03 · LAX 03:03 · JFK 06:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.