Django Channels 是一个基于 Django 的全栈 Web 框架,允许你在 Django 应用中处理 WebSockets、HTTP/2、长轮询等异步通信。

安装

要安装 Django Channels,请使用 pip:

pip install channels

快速开始

  1. 配置

    settings.py 中添加以下配置:

    INSTALLED_APPS = [
        # ...
        'channels',
    ]
    
    CHANNEL_LAYERS = {
        'default': {
            'BACKEND': 'channels_redis.core.RedisChannelLayer',
            'CONFIG': {
                "hosts": [('127.0.0.1', 6379)],
            },
        },
    }
    
  2. 路由

    urls.py 中添加 WebSocket 路由:

    from django.urls import path
    from . import consumers
    
    urlpatterns = [
        # ...
        path('ws/<path:path>/', consumers.MyConsumer),
    ]
    
  3. 消费者

    创建一个消费者来处理 WebSocket 连接:

    from channels.generic.websocket import AsyncWebsocketConsumer
    
    class MyConsumer(AsyncWebsocketConsumer):
        async def connect(self):
            await self.accept()
    
        async def disconnect(self, close_code):
            pass
    
        async def receive(self, text_data):
            await self.send(text_data=text_data)
    

更多信息

想要了解更多关于 Django Channels 的信息,请访问我们的官方文档

图片

Django Channels Logo

返回首页