Metadata-Version: 2.4
Name: wtforms-tornado
Version: 0.1.0
Summary: WTForms extensions for Tornado.
Home-page: https://github.com/puentesarrin/wtforms-tornado
Author: Jorge Puente Sarrín
Author-email: Jorge Puente Sarrín <puentesarrin@gmail.com>
License: Apache-2.0
Keywords: wtforms,tornado,validation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
Requires-Dist: Tornado<7,>=6.4
Requires-Dist: WTForms<4,>=3.1
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

===============
WTForms-Tornado
===============

WTForms extensions for Tornado.

WTForms-Tornado targets Python 3.11+.

.. image:: https://img.shields.io/pypi/v/wtforms-tornado.svg
   :target: https://pypi.python.org/pypi/wtforms-tornado
   :alt: Latest PyPI version

Usage
=====

::

   import tornado.ioloop
   import tornado.web

   from wtforms import IntegerField
   from wtforms.validators import DataRequired
   from wtforms_tornado import Form

   class SumForm(Form):

       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(str(form.errors))

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

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

Installation
============

Install the package with pip::

   pip install wtforms-tornado

Or from a local checkout::

   pip install .

For development work, install the dev extras::

   pip install -e '.[dev]'

.. _pip: https://pip.pypa.io/
.. _PyPI: https://pypi.org/project/wtforms-tornado/
