问题遇到的现象和发生背景
在使用Django进行配置channels的使用,也就是在Django的settings.py中设置ASGI_APPLICATON时,没有作用
用代码块功能插入代码,请勿粘贴截图
# 默认的设置WSGI_APPLICATION
WSGI_APPLICATION = "DjangoD3.wsgi.application"
#wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoD3.settings')
application = get_wsgi_application()
print("ash")
######正常输出
# settings.py
ASGI_APPLICATION = "DjangoD3.asgi.application"
# asgi.py
import os
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from . import routings
os.environ.setdefault('DJANGO_SETTINGS_MODULE','DjangoD3.settings')
application = ProtocolTypeRouter(
{
"http": get_asgi_application(), # http走Django默认的asgi
"websocket": URLRouter(routings.websocket_urlpatterns), # websocket走channels
}
)
print("nihao")
#### 什么也没有输出
运行结果及报错内容
没有报错,就算是把settings.py中的WSGI_APPLICATION注销之后也没有报错
使用的Django版本4.0.0
使用的channels版本4.0.1
我的解答思路和尝试过的方法
不知道为什么没有识别settings.py中的ASGI_APPLICATION