首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果python-socketio是我项目的一部分,如何注册wsgi?

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

Stack Overflow用户
提问于 2018-02-22 08:58:22
回答 1查看 551关注 0票数 1

我正在读python-socketio示例

在其wsgi.py

代码语言:javascript
复制
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

代码语言:javascript
复制
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应用程序:

代码语言:javascript
复制
django_app = get_wsgi_application()
application = Middleware(sio, django_app)

但是在我的项目中,python-socketio是其中的一部分,我如何在这个场景中注册wsgi

我的意思是,我想让python-socketio应用程序成为我的项目的一部分,作为项目中的app。但我不知道如何配置wsgi

编辑-01

我的项目wsgi.py当前代码如下:

代码语言:javascript
复制
import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Qiyun02.settings")

application = get_wsgi_application()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-23 08:10:30

最后,我想出了配置它的方法:

wsgi.py中,像下面这样配置eventlet,我解决了这个问题。

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48923219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档