django websocket redis开发服务器不工作

django websocket redis开发服务器不工作,django,websocket,redis,Django,Websocket,Redis,我正在开发一个Django应用程序,它使用Django websocket redis应用程序从服务器端发布事件 我已经成功地使用nginx和uWSGI配置了一个测试服务器,将HTTP和WS请求正确地路由到我的Django应用程序,但在我的本地开发环境中,我无法实现这一点 根据django websocket redis,启动django开发服务器就足够了,一切都应该正常工作,但这似乎离现实相去甚远 以下是我检查过的内容: redis正在localhost:6379上运行,并响应PING请求

我正在开发一个Django应用程序,它使用
Django websocket redis
应用程序从服务器端发布事件

我已经成功地使用
nginx
uWSGI
配置了一个测试服务器,将HTTP和WS请求正确地路由到我的Django应用程序,但在我的本地开发环境中,我无法实现这一点

根据django websocket redis,启动django开发服务器就足够了,一切都应该正常工作,但这似乎离现实相去甚远

以下是我检查过的内容:

  • redis正在
    localhost:6379
    上运行,并响应
    PING
    请求
  • 尝试在不同的端口(80808000)上运行服务器,以检查django websocket redis是否对开发服务器的端口进行了任何假设,但没有任何更改
  • 在线搜索解决方案,但没有关于此主题的任何内容
在客户端的本地环境中,当我的应用程序尝试连接到本地WebSocket时,我看到一个404错误。My
settings.py
WEBSOCKET\u URL
设置为正确的URL(在测试服务器上,它正在工作,但在本地不工作)


有人知道我做错了什么吗?谢谢

我找到了解决这个问题的方法

我已将我的wsgi.py修改为此,现在可以使用了:

import os

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

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.

from django.core.wsgi import get_wsgi_application
from django.conf import settings
from ws4redis.django_runserver import WebsocketRunServer


if settings.DEBUG:
    _django_app = get_wsgi_application()
    _websocket_app = WebsocketRunServer()

    def application(environ, start_response):
        if environ.get('PATH_INFO').startswith(settings.WEBSOCKET_URL):
            return _websocket_app(environ, start_response)
        return _django_app(environ, start_response)
else:
    application = get_wsgi_application()
更新:不需要像我前面提到的那样创建自定义管理命令,所以我删除了答案的这一部分