问题描述
我正在尝试运行tornadio(适用于python的socket.io)与Django一起使用。是否可以在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()
解决方法
我会考虑使用这个项目来帮助:
https://github.com/koblas/django-on-tornado
它集成了龙卷风和django,可让您执行以下操作:
python manage.py runtornado --reload 8888
其中包括使用django和龙卷风构建的示例聊天服务。