如果 python-socketio 是我项目的一部分,如何注册 wsgi

How to register the wsgi if the python-socketio is a part of my project

我正在阅读python-socketio example

在其 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()

终于想出配置方法了:

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)