我试图允许用户在文件夹中的几个不同视频之间进行选择,并利用他们的输入来播放他们想要的视频。
当前代码:
@app.route('/AAR/')
def aar():
path = Path().absolute()
print(path)
path = str(path) + r"\static\trainings"
dirs = os.listdir(path)
temp = []
for dir in dirs:
temp.append({'name': dir})
return render_template('aar.html', data=temp, selection = "hi")
@app.route("/AAR/" , methods=['GET', 'POST'])
def test():
select = request.form.get('comp_select')
print(select)
return render_template('aar.html', selection = select)
HTML:
{% extends "header.html" %}
{% block body %}
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href='/static/style.css' />
</head>
<body>
<center>
<h1>Trainings</h1>
<hr>
<form class="form-inline" method="POST">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Please select</span>
<select name="comp_select" class="selectpicker form-control">
{% for o in data %}
<option value="{{ o.name }}">{{ o.name }}</option>
{% endfor %}
</select>
</div>
<button type="submit" class="btn btn-default">Go</button>
</div>
</form>
<hr>
</center>
</body>
<div id="load3" class="load3">
<title>Video Example</title>
<h2>Video Replay Test</h2>
<h2>{{ selection }}</h2>
<video width=500 height="500" controls>
<source src="{{ url_for('static', filename='trainings/{{ selection }}')}}" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
{% endblock %}
我的思考过程是,我可以检索用户选择的视频名称(工作正常),然后简单地重新渲染页面并使用
src
中用户选择的视频的名称来加载视频,但是到目前为止,当我单击“Go”时,什么也没有发生。它已成功打印以控制台用户选择,但似乎没有发生任何其他事情。
您有嵌套括号。这无效,因为您已经使用外部两个花括号开始了 Jinja 语句。
尝试通过串联形成 URL。
<source src="{{ url_for('static', filename='trainings/' + selection) }}" type="video/mp4">