当前位置: 首页 > news >正文

江西房地产网站建设广东网站设计招工.

江西房地产网站建设,广东网站设计招工.,DW修改wordpress,无限建站系统#x1f493; 博客主页#xff1a;瑕疵的CSDN主页 #x1f4dd; Gitee主页#xff1a;瑕疵的gitee主页 ⏩ 文章专栏#xff1a;《热点资讯》 使用Django Channels实现WebSocket实时通信 Django Channels 简介 环境搭建 安装 Django 和 Channels 创建 Django 项目 配置 A… 博客主页瑕疵的CSDN主页 Gitee主页瑕疵的gitee主页 ⏩ 文章专栏《热点资讯》 使用Django Channels实现WebSocket实时通信 Django Channels 简介 环境搭建 安装 Django 和 Channels 创建 Django 项目 配置 ASGI 编写消费者 配置路由 创建模板 创建视图 配置 URL 运行开发服务器 测试 WebSocket 连接 总结 Django Channels 是 Django 的一个扩展允许 Django 处理非 HTTP 协议如 WebSocket。本文将详细介绍如何使用 Django Channels 实现 WebSocket 实时通信包括环境搭建、项目结构、安装 Channels、配置 ASGI、编写消费者、运行开发服务器、测试 WebSocket 连接等内容。 Django Channels 简介 Django Channels 是一个 Django 扩展它将 Django 从仅处理 HTTP 请求扩展到处理多种协议特别是 WebSocket。通过 Channels你可以实现实时功能如聊天应用、实时通知等。 环境搭建 在开始之前确保你的环境中已安装 Python 和 pip。 安装 Django 和 Channels pip install django channels创建 Django 项目 使用 Django 命令行工具创建一个新的项目。 django-admin startproject myproject进入项目目录并创建一个新的应用。 cd myproject django-admin startapp chat配置 ASGI 在 myproject/settings.py 中添加 channels 到 INSTALLED_APPS。 INSTALLED_APPS [# ...channels,chat, ]在 myproject/asgi.py 中配置 ASGI。 import os from django.core.asgi import get_asgi_application from channels.routing import ProtocolTypeRouter, URLRouter from channels.auth import AuthMiddlewareStack import chat.routingos.environ.setdefault(DJANGO_SETTINGS_MODULE, myproject.settings)django_asgi_app get_asgi_application()application ProtocolTypeRouter({http: django_asgi_app,websocket: AuthMiddlewareStack(URLRouter(chat.routing.websocket_urlpatterns)), })编写消费者 在 chat/consumers.py 中定义 WebSocket 消费者。 import json from channels.generic.websocket import AsyncWebsocketConsumer累加器 0class ChatConsumer(AsyncWebsocketConsumer):async def connect(self):self.room_name self.scope[url_route][kwargs][room_name]self.room_group_name fchat_{self.room_name}# 加入房间组await self.channel_layer.group_add(self.room_group_name,self.channel_name)await self.accept()async def disconnect(self, close_code):# 退出房间组await self.channel_layer.group_discard(self.room_group_name,self.channel_name)# 接收来自 WebSocket 的消息async def receive(self, text_data):text_data_json json.loads(text_data)message text_data_json[message]# 向房间组发送消息await self.channel_layer.group_send(self.room_group_name,{type: chat_message,message: message})# 从房间组接收消息并发送给 WebSocketasync def chat_message(self, event):message event[message]# 发送消息给 WebSocketawait self.send(text_datajson.dumps({message: message}))配置路由 在 chat/routing.py 中定义 WebSocket 路由。 from django.urls import re_path from . import consumerswebsocket_urlpatterns [re_path(rws/chat/(?Proom_name\w)/$, consumers.ChatConsumer.as_asgi()), ]创建模板 在 chat/templates/chat/room.html 中创建 WebSocket 客户端模板。 !DOCTYPE html html headtitleChat Room/titlescript srchttps://cdn.socket.io/4.0.0/socket.io.min.js/scriptscript srchttps://code.jquery.com/jquery-3.6.0.min.js/script /head bodyh1Chat Room {{ room_name }}/h1ul idchat-log/ulinput idchat-message-input typetext size100button idchat-message-submitSend/buttonscriptconst roomName {{ room_name }};const socket new WebSocket(ws://${window.location.host}/ws/chat/${roomName}/);socket.onmessage function(e) {const data JSON.parse(e.data);const item document.createElement(li);item.textContent data.message;document.getElementById(chat-log).appendChild(item);};document.getElementById(chat-message-submit).onclick function(e) {const messageInputDom document.getElementById(chat-message-input);const message messageInputDom.value;socket.send(JSON.stringify({message: message}));messageInputDom.value ;};/script /body /html创建视图 在 chat/views.py 中创建视图。 from django.shortcuts import renderdef room(request, room_name):return render(request, chat/room.html, {room_name: room_name})配置 URL 在 chat/urls.py 中配置 URL 路由。 from django.urls import path from . import viewsurlpatterns [path(str:room_name/, views.room, nameroom), ]运行开发服务器 启动 Django 开发服务器。 python manage.py runserver测试 WebSocket 连接 打开浏览器访问 http://127.0.0.1:8000/chat/room_name/其中 room_name 是你选择的房间名称。你应该能够看到聊天室页面并且可以发送和接收消息。 总结 通过本文你已经学习了如何使用 Django Channels 实现 WebSocket 实时通信。我们介绍了 Django Channels 的基本概念、环境搭建、项目结构、安装 Channels、配置 ASGI、编写消费者、运行开发服务器、测试 WebSocket 连接等内容。掌握了这些知识将有助于你在实际工作中更好地利用 Django Channels 来构建实时功能如聊天应用、实时通知等。 使用 Django Channels 可以轻松实现 WebSocket 实时通信功能。
http://www.ho-use.cn/article/10819474.html

相关文章:

  • 网站备案去哪美食网站策划书范文
  • 网站增加关键字自己做外贸开通什么网站
  • 如何自己做网站优化社交网站wap模板
  • 优秀个人网站推荐网站备案号代码
  • 建设网站过程第一阶段网站建设售后协议
  • 美术教育机构网站建设方案传奇网站一般怎么做的
  • 做网站公司哪家强网站建设前端岗位职责
  • 做公司网站的步骤网站开发pc端和手机端
  • 最便宜的手机网站建设网盘资源免费观看
  • 视频素材网站建设aspcms 网站标签调用
  • wordpress评论不准设置网站网站在哪里设置关键字
  • 没人愿意干的68个暴利行业夫唯seo
  • 网站tdk建设网站建设中的功能
  • 静态网站管理系统html自动播放视频
  • 网站服务器可以为网络客户端提供文档ppt免费网站
  • 网站开发工作 岗位怎么称呼金螳螂装饰公司国内排名
  • 网站关键词搜索排名聊城网站设计咨询
  • 加速网站的加速器渭南住建网
  • 如何安装wordpress手机站导航保定网站建设多少钱哪家好
  • 做网站需要准备的工具网站建设宗旨怎么写
  • 10天搞定网站开发合工大网站建设试卷
  • android写wordpress免费seo排名工具
  • asp网站出现乱码成都 企业网站建设公司价格
  • 东莞南城网站制作网站站制做
  • 网站怎么做才不会被墙房屋装修设计app免费
  • 企业网站可以做跨境电商吗wordpress 添加logo
  • 网站开发应聘问题开发直播app赚钱吗
  • 高端企业网站建设核心合肥专业手机网站制作价格
  • 南昌本地生活网站有哪些wordpress怎么重新初始化
  • 昆明网站做的好的公司简介商务网站建设公司排名