Skip to main content

Delicate Tornado Route Decorator.

Project description

Usage:

```python
import tornado.ioloop
import tornado.web

from toroute import route

@route('/')
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")

@route('/login', name='login')
class LoginHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
self.write('login')

# group by `/blog`, e.g.: blog app
@route('/list', name='blog_list', kwargs={'data': 'hello'}, group='/blog')
class BlogListHandler(tornado.web.RequestHandler):
def initialize(self, **kwargs):
self.data = kwargs.get('data', None)

def get(self, *args, **kwargs):
self.write(self.data)

@route('/post', name='blog_post', group='/blog')
class BlogPostHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
print('post complete! redirect:%s' % route.url_for('blog_list'))
self.redirect(route.url_for('blog_list'))

@route(r'/view/(?P<pid>\d+)/detail', name='blog_view', group='/blog')
class BlogViewHandler(tornado.web.RequestHandler):
def get(self, pid, **kwargs):
msg = 'Handle Class for /blog/list is %s' \
% route.get_handler_class('/list', group='/blog').__name__
self.write(msg)

if __name__ == '__main__':

application = tornado.web.Application([
(r"/", MainHandler),
] + route.routes())
application.listen(8000)
tornado.ioloop.IOLoop.current().start()

```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torroute-0.0.1.tar.gz (1.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page