📜  在 Ubuntu 服务器上配置 Django WebSocket 应用程序(1)

📅  最后修改于: 2023-12-03 14:51:12.690000             🧑  作者: Mango

在 Ubuntu 服务器上配置 Django WebSocket 应用程序

介绍

WebSocket 是一种在 Web 应用程序中提供双向通信的技术。 Django 是一个流行的 Python Web 框架,可以通过第三方库来实现 WebSocket 功能。在本文中,我们将介绍如何在 Ubuntu 服务器上配置 Django WebSocket 应用程序。

环境要求
  • Ubuntu 16.04 或 18.04 服务器
  • Python 3.x
  • Django 2.x
  • Daphne
步骤
安装 Python 3.x

在 Ubuntu 中,Python 3.x 默认安装。如果您的系统没有安装 Python 3.x,请使用以下命令安装。

sudo apt update
sudo apt install python3
安装 Django
  1. 使用 pip 工具安装 Django。
pip install Django==2.*
  1. 创建 Django 项目并启动开发服务器。
django-admin startproject myproject
cd myproject
python manage.py runserver
安装 Daphne
  1. 使用 pip 工具安装 Daphne。
pip install daphne
配置 Django
  1. 创建 Django 应用程序。
python manage.py startapp myapp
  1. 在应用程序中创建路由。

在 myapp 目录下创建一个名为 routing.py 的文件,并添加以下内容:

from channels.routing import ProtocolTypeRouter, URLRouter
from django.urls import path
from myapp.consumers import MyConsumer

application = ProtocolTypeRouter({
    "http": django.view.serve,
    "websocket": URLRouter([
        path('ws/', MyConsumer.as_asgi()),
    ]),
})
  1. 在应用程序中创建消费者。

在 myapp 目录下创建一个名为 consumers.py 的文件,并添加以下内容:

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)
启动 Daphne
  1. 启动 Daphne 服务器。
daphne myproject.asgi:application
  1. 打开浏览器访问应用程序。

在浏览器中打开 http://localhost:8000/ws/ 页面,您应该会看到一个 WebSocket 连接已经建立的消息。

结论

恭喜,通过本文您已经学会了如何在 Ubuntu 服务器上配置 Django WebSocket 应用程序。现在,您可以在 Django Web 应用程序中实现双向通信功能。