Skip to content

candango/tornado-wtforms

 
 

Repository files navigation

Candango Tornado WTForms

Latest PyPI version Number of PyPI downloads Build Status

WTForms extensions for Tornado forked from WTForms-Tornado.

We will derive the amazing work developed by the original project and add further improvements.

The project WTForms-Tornado will continue to be matained. Check the original project to see if it fit the needs your project/application needs.

Usage

import tornado.ioloop
import tornado.web

from wtforms.fields import IntegerField
from wtforms.validators import DataRequired
from tornado_wtforms.form import TornadoForm


class SumForm(TornadoForm):

   a = IntegerField(validators=[DataRequired()])
   b = IntegerField(validators=[DataRequired()])


class SumHandler(tornado.web.RequestHandler):
   def get(self):
       self.write("Hello, world")

   def post(self):
       form = SumForm(self.request.arguments)
       if form.validate():
           self.write(str(form.data['a'] + form.data['b']))
       else:
           self.set_status(400)
           self.write("" % form.errors)


application = tornado.web.Application([
    (r"/", SumHandler),
])

if __name__ == "__main__":
   application.listen(8888)
   tornado.ioloop.IOLoop.instance().start()

Backwards Compatibility

We'll keep a backwards compatibility with the WTForms-Tornado but a depreciation warning will be logged.

This still works after the instalation:

from wtforms_tornado import Form

class LegacyForm(Form):

   pass

The tornado_wtforms.from.Form class is extending wtforms.form.TornadoForm and is available to be imported at wtforms_tornado module.

Just changing wtforms_tornado by tornado_wtforms and keep importing Form won't work, from tornado_wtforms import Form, because Form is not referenced in tornado_wtforms module. Either you do from tornado_wtforms.form import TornadoForm or from tornado_wtforms.form import Form. The second option will still trigger a depreciation after instantiating a Form instance.

Installation

You can to use pip_ to install Tornado-WTForms:

$ pip install tornado-wtforms

Or using last source:

$ pip install git+git://github.com/puentesarrin/tornado-wtforms.git

Or manually, download the latest source from PyPI:

$ tar xvzf tornado-wtforms-$VERSION.tar.gz
$ cd tornado-wtforms-$VERSION
$ python setup.py build
$ sudo python setup.py install

Support

Tornado WTForms is a fork from WTForms Tornado and now is one of Candango Open Source Group initiatives and is available under Apache License, Version 2.0.

WTForms Tornado is maintained by Jorge Puente Sarrín and is available under Apache License, Version 2.0.

This web site and all documentation is licensed under Creative Commons 3.0.

Copyright (c) 2022 Flávio Gonçalves Garcia

Copyright (c) 2013-2022 Jorge Puente Sarrín

About

WTForms extensions for Tornado.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%