在Tornado应用中使用Django作为中间件
我正在尝试在 Django 中使用 tornadio(一个用于 Python 的 socket.io)。请问有没有办法在 tornado 中做到类似的事情(把 Django 当作中间件来运行),或者我能否在 Django 中直接访问 tornadio(通过取消注释第二个应用程序定义,直接连接到 Django)?
#!/usr/bin/env python
import os
import tornado.httpserver
import tornado.ioloop
import tornado.wsgi
import sys
sys.path.append('..')
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
wsgi = django.core.handlers.wsgi.WSGIHandler()
django_container = tornado.wsgi.WSGIContainer(wsgi)
application = tornado.web.Application([
(r"/", MainHandler),
django_container
])
# application = django_container
tornado.httpserver.HTTPServer(application).listen(8888)
tornado.ioloop.IOLoop.instance().start()
1 个回答
2
我建议你看看这个项目,它可以帮助你: https://github.com/koblas/django-on-tornado
这个项目是把tornado和django结合在一起,让你可以做到这些:
python manage.py runtornado --reload 8888
里面还包含了一个用django和tornado搭建的示例聊天服务。