Vue+Django+Channles实现websocket

本文介绍了如何结合Vue.js前端和Django后端,利用Channels库来实现WebSocket通信。详细阐述了Django项目的设置,包括`settings.py`, `asgi.py`, `routing.py`的配置,以及在Django的`views`中使用WebSocket的相关代码。同时,展示了Vue项目结构,特别是`src/common/websocket.js`中的WebSocket连接和`views/home.vue`中如何调用WebSocket。需要注意的是,Django不适用于单用户的多点登录场景,并且在Django重启后,页面重新连接,Redis中的连接信息不会被自动清除。" 117806810,10292936,HTML5/CSS3实现线条进度条,双色渐变效果,"['HTML', 'CSS3', '前端开发', '动画效果', 'jQuery']
摘要由CSDN通过智能技术生成

Vue+Django+Channles实现websocket

Django端

django项目结构

-SevenDays

–SevenDays

–websocket

​ --auth.py

​ --console.py

1、SevenDays

settings.py

REDIS_OPTIONS = {
   
    'HOST': '127.0.0.1',
    'PORT': 6379,
    'CHS_DB': 2,
    'PASSWORD': ''
}
# django-channels配置
CHANNEL_LAYERS = {
   
    "default": {
   
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
   
            "hosts": ["redis://:{}@{}:{}/{}".format(REDIS_OPTIONS['PASSWORD'], REDIS_OPTIONS['HOST'], REDIS_OPTIONS['PORT'], REDIS_OPTIONS['CHS_DB'])],
        },
    },
}
# 配置ASGI
ASGI_APPLICATION = "SevenDays.routing.application"

asgi.py

#-*-coding:utf-8-*-
import os
import django
from channels.routing import get_default_application
 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SevenDays.settings")
django.setup()
application 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值