侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

django2用iframe标签完成网页内嵌播放b站视频功能

框架(架构)  /  管理员 发布于 7年前   633

前言:

给自己的网站中加入视频资源,有两种方法,一种是用iframe标签引用外站资源,另一种则使用video标签,获取站内资源进行视频播放。其中前者顾名思义,是将视频资源上传到视频网站中,然后通过引用的方式在站内播放视频,这种方法适用于视频资源内容公开免费,且不想花钱购买七牛云空间的开发者,毕竟是免费的嘛!而后者,则是需要有云空间存放视频资源才可以,不过后者的好处是,可以用于视频付费内容的开发。

今天恰好遇到了给自己要开发的项目,加一段视频新闻公告的需求!既然是新闻公告内容,当然是不需要加密的了。所以,也就没有必要花钱搞个云空间了。果断选择第一种,使用iframe标签的方式来实现网页内嵌播放视频方式来开发!

1.选择视频网站进行视频引用:

1.爱奇艺的视频加广告加得简直丧心病狂,像老太太的裹脚布又臭又长,垃圾,不用!

2.腾讯视频的视频也加广告,虽然广告没有那么长,但是很阴险的是,如果视频超过十几分钟,就会无法在引用视频的网站播放,被强制要求转去腾讯视频才可以看,简直狼子野心,垃圾中的垃圾,不用!

3.bilibili,也就是传说中的b站,不但视频没有广告(引导型广告还是有的,但是不影响观看,不是那种不看完广告不让看视频的霸王硬广),没有玩儿阴的强制跳转去他家网站,还高清无码有弹幕,选b站!

2.实际操作:

1.在template目录下的index.html中加入跟视频引用相关的代码:

<!--视频 S--><div class="videoCon">  <div class="name" style="color: orangered">新闻公告</div>  <div class="videoF"><!--这里填入从b站随机挑选一个视频,然后获取的引用代码-->    <iframe src="https://player.bilibili.com/player.html?aid=24841101&cid=41877807&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe><!---->  </div></div><!--视频 E-->

2.获取b站的视频引用相关代码(随机挑选一个b站视频,进入视频播放页)

3.django网页中的效果图

3.跟django后端结合,动态的嵌入不同视频

1.在models.py中(一般嵌入代码长度不会超过300,在150――300之间)

class Bili(models.Model):  '''新闻相关视频'''  new=models.ForeignKey(News,verbose_name='新闻公告',on_delete=models.CASCADE)  is_topline=models.BooleanField(default=False,verbose_name='是否是头条')  bili=models.CharField(verbose_name='视频嵌入代码',max_length=300)  add_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')  class Meta:    verbose_name = '新闻相关视频'    verbose_name_plural = verbose_name  def __str__(self):    return self.new.title

打开Terminal终端,执行数据更新命令:

python manage.py makemigrationspython manage.py migrate

2.在adminx.py中注册

import xadminfrom .models import News,Biliclass NewsAdmin(object):  list_display = ['title', 'img','click_num','add_time']  search_fields = ['title', 'img','click_num',]  list_filter = ['title', 'img','click_num','add_time']  style_fields={'context':'ueditor'}#注册代码class BiliAdmin(object):  list_display = ['new', 'is_topline']  search_fields = ['new', 'is_topline']  list_filter =['new', 'is_topline']xadmin.site.register(News, NewsAdmin)#注册代码xadmin.site.register(Bili, BiliAdmin)

3.可以在xadmin后台进行多个视频嵌入代码的填入

随机在b站找的三个视频的嵌入代码:

<iframe src="https://player.bilibili.com/player.html?aid=24687507&cid=41510047&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
<iframe src="https://player.bilibili.com/player.html?aid=22025564&cid=36402353&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
<iframe src="https://player.bilibili.com/player.html?aid=17766502&cid=29007139&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

4.在views.py中:

from .models import News,Biliclass NewView(View):  """新闻公告详情"""  def get(self,request,new_id):    new=News.objects.filter(id=new_id).first()    new.click_num+=1    # 根据新闻公告的不同,显示与之关联的视频    bili=Bili.objects.filter(new=new).last()    new.save()    return render(request,'news-base.html',{'new':new,'bili':bili})class IndexView(View):  """首页"""  def get(self,request):    all_news=News.objects.all().order_by('-add_time')    p = Paginator(all_news, 20)    page = request.GET.get('page', 1)    try:      news = p.page(int(page))    except PageNotAnInteger:      news = p.page(1)          #首页播放被标记为头条的最后一部视频    bili=Bili.objects.filter(is_topline=True).last()    return render(request,'index.html',{'news':news,'bili':bili})

5.改写Template目录下的index.html(首页)和new-base.html(新闻模板页)

index.html

<!--视频 S--><div class="videoCon">  <div class="name" style="color: orangered">新闻公告</div>  <div class="videoF">    {{ bili.bili|safe }}  </div></div><!--视频 E-->

new-base.html

<!--视频 S--><div class="videoCon">  <div class="name" style="color: orangered">{{ new.title }}</div>  <div class="videoF">    {{ bili.bili|safe }}  </div></div><!--视频 E-->

6.效果图

新闻详情页

首页

4.总结

这个功能其实还是挺简单的,技术上没有什么可总结的,只不过我在随机在b站找几个视频,发现基本上所有的视频内容吧,都挺令人担忧的,b站作为体现年轻人喜好的一个网站,其中内容全都是以低俗,谄媚,秀下限,恶趣味,宅腐文化为主旋律的,作为一个90后,不禁叹息,00后真是垮掉的一代啊啊啊啊……现在的年轻人,女生(有些甚至是男扮女装)穿裙子的标准长度,居然是以一扭屁股就能露出安全裤为标准的长度!对于未成年的小男生来说,根本不存在戒撸的可能性了啊!什么叫心理下流看什么都下流?天天靠露安全裤博眼球,自己出于什么心理真的没个数么?当然,从宏观上看,因为三十年前那一拨国策,搞得现在女少男多,按照市场规律:在绝对刚需的情况下,物以稀为贵! 现在社会整体上,女性的权利空前的大,这是无法改变的。既然无法改变,不妨转变一个角度看问题,适龄女性比适龄男性少,当今女性的裙子又比过去女性的裙子短,显然卫生纸的市场需求量,势必越来越大,而卫生纸的上游行业(木材,芦苇等造纸原材料的行业),及同类行业(软装、纸箱、办公用纸等与卫生纸消耗同样原料的行业)价值必将一路上扬!如果有搞期货或者炒股票的兄弟觉得有道理,入手一些这种行业的证券,肯定稳赚啊!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    Django + Uwsgi + Nginx 实现生产环境部署的方法
    下一条:
    django admin 后台实现三级联动的示例代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Filament v3.1版本发布(0个评论)
    • docker + gitea搭建一个git服务器流程步骤(0个评论)
    • websocket的三种架构方式使用优缺点浅析(0个评论)
    • ubuntu20.4系统中宿主机安装nginx服务,docker容器中安装php8.2实现运行laravel10框架网站(0个评论)
    • phpstudy_pro(小皮面板)中安装最新php8.2.9版本流程步骤(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2018-05
    • 2020-02
    • 2020-03
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-11
    • 2021-03
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-08
    • 2023-08
    • 2023-10
    • 2023-12
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客