Django как промежуточное программное обеспечение в приложении tornado

#python #django #wsgi #tornado #socket.io

#python #django #wsgi #tornado #socket.io

Вопрос:

Я пытаюсь запустить tornadio (сокет.ввод-вывод для python) для работы с django. Есть ли способ сделать что-то подобное в tornado (запустив django как промежуточное программное обеспечение), или я могу получить доступ к tornadio изнутри django (раскомментировав второе определение приложения, оно направляется прямо в 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:

Я бы посмотрел на использование этого проекта, чтобы помочь: https://github.com/koblas/django-on-tornado

Это интеграция tornado и django, позволяющая вам сделать это:

 python manage.py runtornado --reload 8888
  

Включен пример службы чата, созданной с использованием django и tornado.