os-tornado
A framework to organize tornado project and simplify development.
Install
pip install os-tornado
Usage
-
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
Advanced Usage
-
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)
Unit Tests
$ tox
License
MIT licensed.