Как зарегистрировать wsgi, если python-socketio является частью моего проекта
Я читаю пример с python-socketio.
в его wsgi.py
:
import os
from django.core.wsgi import get_wsgi_application
from socketio import Middleware
from socketio_app.views import sio
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_example.settings")
django_app = get_wsgi_application()
application = Middleware(sio, django_app)
в views.py
:
async_mode = None
import os
from django.http import HttpResponse
import socketio
basedir = os.path.dirname(os.path.realpath(__file__))
sio = socketio.Server(async_mode=async_mode)
thread = None
Я хочу знать, пример GitHub показывает использование этого метода для регистрации приложения wsgi:
django_app = get_wsgi_application()
application = Middleware(sio, django_app)
Но в моем проекте python-socketio
является частью этого, как я могу зарегистрировать wsgi
по этому сценарию?
Я имею в виду, я хочу сделать python-socketio
приложение, которое будет частью моего проекта, как app
в проекте. Но я не знаю, как настроить wsgi
,
EDIT-01
Мой проект wsgi.py
текущий код ниже:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Qiyun02.settings")
application = get_wsgi_application()
1 ответ
Решение
Наконец, я выясняю способ его настройки:
в wsgi.py
настройте eventlet
как ниже, я решаю эту проблему.
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Qyun.settings")
from socketio import Middleware
from website_chat.views import sio
django_app = get_wsgi_application()
application = Middleware(sio, django_app)
import eventlet
import eventlet.wsgi
eventlet.wsgi.server(eventlet.listen(('', 8000)), application)