GithubGitea安装包pipinstalldjangowebsocket更改项目下asgi.py文件importosfromdjango.core.asgiimportget_asgi_applicationfromdjangowebsocketimportget_ws_applicationfromdjangowebsocketimportpath,paths,middlewareos.environ.setdefault('DJANGO_SETTINGS_MODULE'),'Project.apsettings'()websocket_application=get_ws_application()#注册路由,完全匹配,正则路径('/path1/',ViewClass1)#ViewClassviewclass#orpaths({'/path2/':ViewClass2,'/path3/':ViewClass3,})#注册中间件,sequentialmiddleware(MiddlewareClass1)#MiddlewareClass1middlewareclass#or(1.0.0isnotavailable)middlewares([MiddlewareClass2,MiddlewareClass3])#http,websocker请求分发asyncdefbranch(scope,receive,send):如果scope.get('type')=='websocket':awaitwebsocket_application(scope,receive,send)else:awaithttp_application(scope,receive,send)application=branchviewclassfromdjangowebsocketimportBaseWebSocketView,ResponseclassWebSocketView(BaseWebSocketView):defwebsocket(self,request):#Response'sdatacanbestr,dict,list,tuple,etc.returnResponse({'test':'123'})查看请求有如下属性importBaseMiddlewareclassMD(BaseMiddleware):defprocess_request(self,request):print(request.data)#预处理请求返回请求defprocess_response(self,request,response):response.set_data({'111':222})#设置数据通过set_data方法返回responseByahri如果遇到问题请到github或者gitea提交Issue
