Skip to main content

pip python django3 websocket

项目描述

Django - WebSocket

MyGitAddressChina

Github

联系我ahriknow@gmail.com

如何使用

  • 安装

    pip install djangowebsocket
    
  • 更改 的内容asgi.py,如果您的项目名称是Project

    import os
    
    from django.core.asgi import get_asgi_application
    
    from djangowebsocket import get_ws_application
    from djangowebsocket import path, paths, middleware
    
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Project.settings')
    
    http_application = get_asgi_application()
    websocket_application = get_ws_application()
    
    # register your routers, About to support regular matching
    path('/path1/', ViewClass1)  # what is ViewClass, see below
    # or
    paths({
        '/path2/': ViewClass2,
        '/path3/': ViewClass3,
    })
    
    
    # register your middleware, it's sequential
    middleware(MiddlewareClass1)  # what is MiddlewareClass1, see below
    # or
    middlewares([MiddlewareClass2, MiddlewareClass3])
    
    
    async def branch(scope, receive, send):
        if scope.get('type') == 'websocket':
            await websocket_application(scope, receive, send)
        else:
            await http_application(scope, receive, send)
    
    
    application = branch
    
  • 编写 ViewClass

    from djangowebsocket import BaseWebSocketView, Response
    
    
    class WebSocketView(BaseWebSocketView):
    
        def websocket(self, request):
            # Response's data can be str, dict, list, tuple, etc.
            return Response({'test': '123'})
    
  • 编写中间件类

    from djangowebsocket import BaseMiddleware
    
    
    class MD(BaseMiddleware):
        def process_request(self, request):
            print(request.data)  # Preprocess request
            return request
    
        def process_response(self, request, response):
            response.set_data({'111': 222})  # Set data by set_data
            return response
    
  • 请求有attr:

    QUERY  # params in path
    HEADER
    TYPE
    ASGI
    SCHEM
    SERVER
    CLIENT
    ROOT_PATH
    PATH
    RAW_PATH
    SUB_PROTOCOLS
    

2020.09.22

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

djangowebsocket-1.0.1.tar.gz (5.6 kB 查看哈希)

已上传 source

内置分布

djangowebsocket-1.0.1-py3-none-any.whl (7.1 kB 查看哈希)

已上传 py3