本人用的django(2.0.8),dwebsocket版本是最后版本(0.5.10),因为dwebsocket已不再更新
django setting文件相关配置:
# 为所有的URL提供websocket,如果只是单独的视图需要可以不选
MIDDLEWARE_CLASSES=['dwebsocket.middleware.WebSocketMiddleware']
# 可以允许每一个单独的视图实用websockets
WEBSOCKET_ACCEPT_ALL=True
websocket函数代码:
from dwebsocket.decorators import require_websocket
@require_websocket
def sendData(request):
if request.is_websocket(): # 判断是不是websocket连接
websocket.send("hello")
最后运行使用js调用时出现错误: AttributeError: 'WSGIRequest' object has no attribute 'is_websocket'
解决方案:
在settings.py中导入 dwebsocket
import dwebsocket
# 为所有的URL提供websocket,如果只是单独的视图需要可以不选
MIDDLEWARE_CLASSES=['dwebsocket.middleware.WebSocketMiddleware']
# 可以允许每一个单独的视图实用websockets
WEBSOCKET_ACCEPT_ALL=True