tornado和django的结合使用 tornado Server for django WSGI APP

#!/usr/bin/env python

# Run this with
# Serves by default at
# http://localhost:8080/hello-tornado and
# http://localhost:8080/hello-django

from tornado.options import options, define, parse_command_line
import django.core.handlers.wsgi
import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.wsgi
import os
define('port', type=int, help="run on the given port", default=80)

class HelloHandler(tornado.web.RequestHandler):
  def get(self):
    self.write('Hello from tornado')

def main():
  parse_command_line()
  wsgi_app = tornado.wsgi.WSGIContainer(
    django.core.handlers.wsgi.WSGIHandler())
  tornado_app = tornado.web.Application(
    [
      ('/hello-tornado', HelloHandler),
      ('.*', tornado.web.FallbackHandler, dict(fallback=wsgi_app)),
      ])
  server = tornado.httpserver.HTTPServer(tornado_app)
  server.listen(options.port)
  tornado.ioloop.IOLoop.instance().start()

if __name__ == '__main__':
  os.environ.setdefault("DJANGO_SETTINGS_MODULE", "YOUR_PROJECT_NAME.settings")
  if django.VERSION[1] > 5:
    django.setup()
  main()

└── ts 目录结构,项目名称ts ├── manage.py ├── tornado_main.py ├── tornado_main.py~ └── ts ├── __init__.py ├── __init__.pyc ├── manage.py ├── settings.py ├── settings.py~ ├── settings.pyc ├── tornado_main.py ├── tornado_main.py~ ├── urls.py ├── urls.py~ ├── urls.pyc ├── views.py ├── views.pyc └── wsgi.py

清明节~~~~

中国传统节日,中午在宿舍

明天又要上课了,加油哦!

参考文档:

官方文档

https://github.com/bdarnell/django-tornado-demo

 

posted @ 2016-04-04 14:52  LandFlow  阅读(1152)  评论(0编辑  收藏  举报