Как зарегистрировать 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)
Другие вопросы по тегам