前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+django网页设计入门(20):使用WebSocket创建多人在线聊天室

Python+django网页设计入门(20):使用WebSocket创建多人在线聊天室

作者头像
Python小屋屋主
发布2019-05-05 10:30:24
2.4K0
发布2019-05-05 10:30:24
举报
文章被收录于专栏:Python小屋Python小屋

技术要点:

1)安装与使用channels及其依赖的软件和扩展库;

2)使用channels实现WebSocket;

3)使用WebSocket实现在线聊天室;

4)检测用户是否登录;

5)异步编程,相关基础知识可以参考《Python程序设计开发宝典》;

5)设置黑名单。

=====================

1、进入cmd模式,执行命令pip install channels,安装channels以及相应的依赖库,在这个过程中,twisted库很容易出问题,所以,先到https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted下载轮子文件放到Python安装目录的scripts文件夹中,执行pip命令离线安装twisted库,然后再安装channels。

2、下载并安装Redis,地址:https://github.com/MicrosoftArchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.msi,在安装过程中注意把Redis安装路径添加到环境变量PATH中,并保持默认端口6379不变。

3、安装扩展库channels_redis及其依赖库。

4、新建应用apps\ws\chatroom及其相应的文件,文件夹结构如下

5、修改网站项目的settings.py,增加channels和chatroom应用。

6、修改网站项目的settings.py,配置ASGI_APPLICATION和CHANNEL_LAYERS。

7、执行manage.py命令,更新数据库

8、在网站项目下创建文件routing.py,内容如图所示

9、创建模板文件apps\ws\chatroom\templates\chatroom\index.html,内容如图所示

10、创建模板文件apps\ws\chatroom\templates\chatroom\room.html,内容如下

11、修改文件apps\ws\chatroom\models.py,定义聊天模型,内容如下

12、修改文件apps\ws\chatroom\admin.py,内容如下,使得后台管理员登录之后可以看到聊天室的聊天记录。

13、修改apps\ws\chatroom\urls.py文件内容如下

14、修改apps\ws\chatroom\views.py文件,内容如下

15、修改apps\ws\chatroom\routing.py文件,内容如下

16、修改apps\ws\chatroom\consumers.py文件,内容如下

17、在PyCharm中运行网站,界面如下,注意红线处和之前课程中运行界面的不同。

19、进入聊天室主界面http://127.0.0.1:8000/chatroom/

20、未登录用户的聊天界面

21、黑名单用户的聊天界面

22、打开两个不同的浏览器,使用不同的用户身份登录,然后聊天,界面如下

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档