html - 我的 mp4 不会像以前那样显示在烧瓶中
问题描述
所以我刚开始使用烧瓶,并进行了不同的练习。昨天我成功地在我的烧瓶网页上部署了一个视频,但是今天当我运行相同的代码时,我得到了一个黑色窗口,应该播放视频(与图像相关)。
这是我的烧瓶代码
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('video.html')
if __name__ == "__main__":
app.run(host="localhost", port=8000, debug=True)
还有我的 HTML 代码
<html>
<head>
<meta name="viewport" content="width=device-width">
</head>
<body>
<video controls="" autoplay="" name="media">
<source src="file:///C:/Users/(username)/Desktop/Code/Flask/templates/sample.mp4" type="video/mp4">
</video>
</body>
</html>
我的文件结构是
Flask\
-app.py (flask code)
\templates\
-video.html (html code)
-sample.mp4
链接的视频确实有效,例如 https://s3.amazonaws.com/codecademy-content/projects/make-a-website/lesson-1/ollie.mp4
解决方案
<source src="file:///C:/Users/(username)/Desktop/Code/Flask/templates/sample.mp4" type="video/mp4">
这样做的问题是这个源标签将在用户的浏览器中呈现并尝试解析c:\Users
到他们自己机器的路径。
您可能希望通过移动templates/sample.mp4
到(如果需要,static/sample.mp4
创建目录)来解决这个问题。static
然后在模板中:
<video controls="" autoplay="" name="media">
<source src="{{ url_for('static', filename='sample.mp4') }}" type="video/mp4">
</video>
使用该url_for
方法可确保始终生成正确的链接,而不管应用程序托管在哪个 URL 上(最终)。
如果您改为编写src='/static/sample.mp4'
它,它将在开发中工作,但如果您的应用程序稍后托管,https://example.com/music/
那么此链接将指向example.com/static/sample.mp4
它应该在什么时候example.com/music/static/sample.mp4
。
推荐阅读
- java - Java中的SOAP消息,WSDL URL替代
- perl - perlcritic 消息:在 void 上下文中使用的映射
- c# - HiQPdf 没有在 pdf 上呈现 Chart.js 图表
- java - 解析多维 JSON 数组错误
- javascript - Next JS 和 Vercel - 开发与生产
- javascript - 使用 lodash 迭代数组和过滤器
- javascript - Selenium JavaScript - 如何在 Jest 测试用例中设置测试 ID
- swift - 如何在小部件 iOS14 中刷新多个计时器?
- javascript - keyCode 和哪些已被弃用 - 那么为什么这不起作用?
- blockchain - 如何在 NEAR 上部署锁定合约