Django - pass file path/url from html to view in order to change the source of my video stream

Viewed 20

Hello I am fairly new to the Django and html world and and would like to be able to select a video file and then play it in an edited version (ai classification and some opencv editing).

At the moment, playing of a local file works in that way that the file path of my dummy video file is fixed in my script where I load the VideoStream.

However, I would like to be able to specify via html input which file to load.

I have the problem that I do not know how to pass the selected file.

Via urls parameters can be passed, but I do not know how I can pass the path or url of the video file as a parameter. Or can something like this be achieved via post requests and if so how?

Here are parts of my script (I don't use post request for this atm):

<form action="" method="POST" enctype="multipart/form-data">
  {% csrf_token %}
  <input id="myFileInput" type="text">
  <input class="button1" id="inputfield" name="upload" type="file" accept="video/*" onchange="document.getElementById('myFileInput').src = window.URL.createObjectURL(this.files[0]); document.getElementById('buttonStart').className = 'button'; this.form.submit()" value="Select a File"/>
</form>

The file path is stored in 'myFileInput'. But I could also get the file path through post request. Then I have the problem, that no class instance that I know where I could save that path and load it later.

<img id="demo" src="">

and the function for

function video_on() {
  document.getElementById("demo").src = "{% url 'mask_feed' urlpath='path_I_would_like_to_pass' %}"; //
  document.getElementById("wait").innerHTML = "Turning on. . . . .";
  setTimeout(showText, 3000);
}

and the urls.py:

path('mask_feed/<path:urlpath>', views.mask_feed, name='mask_feed'),

and of course I have a mask_feed method in my views.py that takes urlpath as argument.

My question is, how can I "insert" the file path I get with html insert into the the django template "{% url 'mask_feed' urlpath='path_I_would_like_to_pass' %}"?

I would like to do something like this:

document.getElementById("demo").src = "{% url 'mask_feed' urlpath='document.getElementById('myFileInput').src' %}"

but it doesn't work because of the quotation marks. And if this is not the way to go, how should I do it?

0 Answers
Related