如何使用flask/jinj将值从python传递到html表单

2024-05-08 03:36:39 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我首先在一个特定目录中创建一个包含所有文件夹的数组,然后将其传递给我的html文件。你知道吗

def test_yt_vid():
mylist = os.listdir(WD+r"static/"+YOUTUBE_FOLDER)
full_path = (WD+YOUTUBE_FOLDER)
return dict(mylist=mylist, full_path=full_path)

下一步,我查看该数组以查找已选择的文件。你知道吗

<select name=list id="videolist" method="GET" action="/">
        {% for mylist in mylist %}
            <option value= "{{mylist}}" SELECTED>{{mylist}}</option>"
        {% endfor %}
</select>

接下来我使用JS将特定值放入变量中

$('#videolist').change(function () {
//console.log($("#videolist").val());
 var fileInput = $("#videolist").val())};

所以问题就在这里,我不确定如何将该值传递到下面的jinja代码中

<video id="videotesting1" class="video" width="300" height="240" autoplay loop controls="true">
<source src="{{url_for('static',filename='videoTest/' + 'testVid.mp4')}}" type="video/mp4">
</video >

我在试着替换'测试视频.mp4'对于来自JS的变量fileInput,我尝试使用$("#videotesting1").attr("src","{{url_for('static',filename='videoTest/'" + fileInput +")}}");'

但到目前为止运气不好。你知道吗

这与“如何使用jQuery更改视频src”不同因为我试图用js将一个jinja变量传递给HTML。你知道吗


Tags: 文件pathsrcforyoutubevideostatic数组
2条回答

你有一些错误的封闭报价。看看filename,在这里设置'videoTest/'加上一些变量值(例如x),结果是'videoTest/'x。你注意到了吗?在videoTest之后结束的单引号应该出现在变量fileInput之后。正确的方法是:

$("#videotesting1").attr("src","{{url_for('static',filename='videoTest/" + fileInput + "')}}");

修改src时,byinspect elementsrc是否已更改,但所需的视频未播放?如果是,请尝试:

$("#videotesting1").load()

看看load@JQuery docs做了什么。你知道吗

找出问题所在,文件名必须在jinja代码之外,因为当事件发生时,由于某种原因jinja无法呈现它。你知道吗

$("#videotesting1").attr("src","{{url_for('static',filename='videoTest/')}}" + fileInput);

相关问题 更多 >