弹幕视频+聊天室页面布局

5609 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
对于想从事Python Web开发的人员通过该课可以深入掌握并理解websocket技术!
你将会学到
帮助Python爱好者和Python初中级程序员提高项目实战能力!
课程简介

一、介绍

  • 该实战项目将应用Python、MySQL、Redis、Tornado、SQLAlchemy、SockJS、Dplayer、WTForms、Werkzeug等技术打造一个完整弹幕视频+多人在线聊天室。我们将通过此项目的创建,在实战过程中带大家快学习Python MTV的设计模式和websocket实时长连接的技术原理。


必备知识

  • 有一定的HTML/CSS/JavaScript前端基础

  • 有一定的MySQL基础,熟悉数据库操作,数据表增删改查操作

  • 有一定的Python基础,本项目用Python3.6


受益人群

  • 帮助Python爱好者和Python初级程序员提高项目实战能力

  • 帮助想从事Python Web开发的人员深入学习并理解websocket实时长连接技术

  • 帮助想找工作、想跳槽、想升职加薪、想自主创业的同学提升实战技能


项目演示

  • 项目地址:chat.thznote.com

  • 本地演示:见1-1:实战项目概述视频


二、章节

第1章: 知识点介绍及环境准备

  • 1-1:实战项目概述

  • 1-2:http原理介绍

  • 1-3:websocket原理介绍

  • 1-4:技术架构介绍

  • 1-5:开发环境介绍

第2章: 项目构建及ORM模型设计

  • 2-1:构建项目目录

  • 2-2:设计视频数据模型

  • 2-3:设计聊天数据模型

  • 2-4:设计会员数据模型

  • 2-5:模型生成数据表

第3章: 前端页面布局实战

  • 3-1:公共页面布局

  • 3-2:视频列表页面布局

  • 3-3:弹幕视频+聊天室页面布局

  • 3-4:注册页面布局

  • 3-5:登录页面布局

  • 3-6:个人资料页面布局

第4章: 会员核心功能实战

  • 4-1:注册表单验证模型

  • 4-2:注册接口

  • 4-3:注册表单提交

  • 4-4:登录表单验证模型

  • 4-5:登录接口

  • 4-6:登录表单提交

  • 4-7:登录权限控制

  • 4-8:退出接口

  • 4-9:个人资料表单验证模型

  • 4-10:异步上传头像接口

  • 4-11:异步上传头像客户端

  • 4-12:个人资料编辑接口

  • 4-13:个人资料编辑数据渲染及表单提交

第5章: 弹幕视频实战

  • 5-1:视频列表分页接口

  • 5-2:视频列表分页数据渲染

  • 5-3:视频播放接口

  • 5-4:视频播放数据渲染

  • 5-5:提交弹幕接口

  • 5-6:弹幕队列接口

第6章: websocket实时聊天实战

  • 6-1:websocket实时聊天接口

  • 6-2:聊天输入框数据渲染

  • 6-3:客户端发起websocket长连接

  • 6-4:建立websocket全双工数据通信

  • 6-5:websocket断线和重连

  • 6-6:聊天输入框表单提交

  • 6-7:实时更新聊天记录至消息框

  • 6-8:聊天记录代码高亮效果

  • 6-9:聊天记录更新滚动效果

  • 6-10:用户或游客进入房间提示

  • 6-11:存储实时聊天消息

  • 6-12:加载历史聊天消息

第7章: 项目总结

  • 7-1:项目总结


开发工具:

  • Python3.6、Pycharm、MySQL、Redis


项目截图:
弹幕视频+多人在线聊天页面:

弹幕+聊天.png

个人资料页面:
个人资料.png注册页面:
注册.png登录页面:
登录.png视频列表页面:
视频列表.png


展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交