Django Channels是一个基于Django的扩展, 用于处理WebSockets, 长轮询和触发器事件等实时应用程序.
它允许Django处理异步请求, 并提供了与其他WebSockets库集成的功能.当我们在Django Channels中使用ASGI_APPLICATION设置时,
我们可以指定一个新的ASGI应用程序来处理ASGI请求.
这样, 我们可以针对不同的请求类型使用不同的应用程序逻辑.
使用pip install channels的话会自动下载比较高的版本(4.x),
在注册channels的时候, Django的settings.py中ASGI_APPLICATION没有被配置识别,
启动项目的时候没有使用ASGI, 而是使用WSGI.
# WSGI启动如下:
System check identified no issues (0 silenced).
June 10, 2024 - 01:30:05
Django version 4.2, using settings 'MyDjango.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
解决方案: 降低版本.
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple channels==3.0.4
# ASGI启动如下:
System check identified no issues (0 silenced).
June 10, 2024 - 01:10:21
Django version 4.2, using settings 'MyDjango.settings'
Starting ASGI/Channels version 3.0.4 development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.