-
下载第三方库channels
channels库对于websocket有着良好的支持,下载完在settings中注册,在使用时要在应用中生成两个文件:consumers.py和routing.py配置文件,consumers即视图,routing就是路由,一个视图对应一个路由。 -
实现长连接管道型通讯,还需要下载channels_redis库
-
因为djngo使用的是wsgi所有在使用channels时还需要配置asgi设置
-
在django2.2以上版本会内置支持ASGI
import os
from channels.routing import ProtocolTypeRouter
from django.core.asgi import get_asgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的app名.settings')
application = ProtocolTypeRouter({
"http": get_asgi_application(),
# Just HTTP for now. (We can add other protocols later.)
}