电影弹幕
我们使用Flask结合Redis消息队列实现电影弹幕.
弹幕模块相关点
- 模型 Movie
- 表单 无
- 请求方法 GET POST
- 访问控制 无
- 消息队列 Redis
- Flask第三方扩展 Flask-Redis
- 弹幕播放器插件 dplayer.js(开源) 之前使用的是"jwplayer"播放器
准备工作
- redis 安装登录
- dplayer弹幕播放器下载: https://gitee.com/mirrors/DPlayer?utm_source=alading&utm_campaign=repo
开发内容
代码优化及bug处理
相关点
-
头像判断 参考:TypeError TypeError: can only concatenate str (not “NoneType“) to str
-
关键字搜索分页 如果搜索内容后为空,则会地址会丢失KEY, 点击首页也会失去KEY
- 电影右侧播放页面滚动条
头像判断
参考参考:TypeError TypeError: can only concatenate str (not “NoneType“) to str 解决
解决方法: 增加条件判断 在没有头像时候给默认头像
{% if v.user.face %} <img alt="50x50" src="{{ url_for('static', filename='uploads/users/' + v.user.face) }}" class="img-circle" style="border:1px solid #abcdef; width: 50px"> {% else %} <img alt="50x50" data-src="holder.js/50x50" class="img-circle" style="border:1px solid #abcdef; width: 50px"> {% endif %}
搜索页面分页关键字
解决方法如下:
步骤1: 视图函数给一个key
步骤2:创建一个新的分页模板 给url_for加入key E:\study\mooc\MicroMovie200731\app\templates\home\pagination_search.html
# E:\study\mooc\MicroMovie200731\app\templates\home\pagination_search.html <nav aria-label="Page navigation"> {% macro page(data, url) -%} {% if data %} <ul class="pagination"> <li><a href="{{ url_for(url, page=1) }}?key={{ data.key}}">首页</a></li> {% if data.has_prev %} <li><a href="{{ url_for(url, page=data.prev_num) }}?key={{ data.key}}">上一页</a></li> {% else %} <li class="disabled"><a href="#">上一页</a></li> {% endif %} {% for v in data.iter_pages() %} {% if v == data.page %} <li class="active"><a href="#">{{ v }}</a></li> {% else %} <li><a href="{{ url_for(url, page=v) }}?key={{ data.key}}">{{ v }}</a></li> {% endif %} {% endfor %} {% if data.has_next %} <li><a href="{{ url_for(url, page=data.next_num) }}?key={{ data.key}}">下一页</a></li> {% else %} <li class="disabled"><a href="#">下一页</a></li> {% endif %} <li><a href="{{ url_for(url, page=1) }}?key={{ data.key}}">尾页</a></li> </ul> {% endif %} {%- endmacro %} </nav>
步骤3: E:\study\mooc\MicroMovie200731\app\templates\home\search.html加入新的分页模板
电影右侧播放页面滚动条
在E:\study\mooc\MicroMovie200731\app\templates\home\play.html中加入相应元素
overflow: scroll;