A framework to organize tornado project and simplify development.
Note
This project will no longer maintenance. You can use os-sanic as substitute which has better performance and more flexible.
pip install os-tornado
Create project
os-tornado startproject new_project
Will create a project structure:
new_project/ ├── app │ ├── extensions │ │ ├── example_extension.py │ │ ├── __init__.py │ ├── request_handlers │ │ ├── example_handler.py │ │ ├── __init__.py │ ├── __init__.py │ ├── settings.py └── manager.py
Write your extensions and request handlers
Extension
You can implement
setup
,run
,cleanup
as your need.Request handler
See tornado.web — RequestHandler and Application classes
You can get extension inside request handler:
self.application.manager.get_extenion(extension_name)
Configure settings (app/settings.py)
You can set tornado inner app settings and server settings with specified PREFIX:
example:
TORNADO_APP_SETTINGS_DEBUG = True
Run server
python manager.py runserver
os_tornado.decorators.jsonify
jsonify returned dict and raised HTTPError
example:
@jsonify class ExampleHandler(RequestHandler): def get(self, *args, **kwargs): return {'status':'ok'} def post(self, *args, **kwargs): raise HTTPHandler(405)
$ tox
MIT licensed.