Я пытаюсь создать веб-сайт, используя django, с которым я не знаком. Не знаю, в каких формах django я написал свой файл html исключительно в html, и теперь мне трудно сохранить загруженные файлы, потому что django не позволяет мне сохранять их вручную. Я безуспешно пытался обойти это, поэтому я думаю, что теперь мне нужно переписать свой файл html в шаблон django html, чтобы я мог сохранять файлы. У меня есть файл html вроде этого:
html
<div class="w3-container w3-white">
<select class="w3-select" name="request_function" id="request_function" >
<option id="faces_embedding" value="faces_embedding" style="" onclick="pagechange()">faces_embedding</option>
<!-- <option id="faces_model" value="faces_model" style="" onclick="pagechange()"> faces_model </option> -->
<option id="image_recognizer"value="image_recognizer" style="" onclick="pagechange()">image_recognizer</option>
<option id="video_recognizer" value="video_recognizer" style="" onclick="pagechange()">video_recognizer</option>
<option id="stream_recognition" value="stream_recognition" style="" onclick="pagechange()">stream_recognizer</option>
<option id="help" value="help" style="" onclick="pagechange()">help</option>
</select>
</div>
<div id="AddFaces" style="visibility: visible; display: block;">
<div class="w3-row-padding" style="margin:0 -16px;" >
<div class="w3-half">
<input type="radio" name="input_method" id="input_method_0" onclick="datachange()" checked value="input_method_0">
<label>Add A Database</label>
</div>
<div class="w3-half">
<input type="radio" name="input_method" id=input_method_1" onclick="datachange()" value="input_method_1">
<label>Add A Face</label>
</div>
</div>
<div class="w3-row-padding" style="margin:0px -10px;">
<div id="dataset" class="w3-half w3-margin-bottom" style="visibility: visible; display: block;">
<label>Dataset Path</label>
<input class="w3-input w3-border" type="text" placeholder="directory path" name="dataset_path" id="dataset_path" required >
</div>
<div id="face" style="visibility: hidden; display: none;">
<div class="w3-half w3-margin-bottom">
<label>Images Path</label>
<input type="file" id="face_files" name="face_files" multiple >
</div>
<div class="w3-half">
<label>Name</label>
<input class="w3-input w3-border" type="text" placeholder="person name" name="face_name" id="face_name" >
</div>
</div>
</div>
</div>
где «datachange ()» - это функция javascript, которая скрывает различные погружения, которые мне не нужны и мой view.py
if request.method == "GET":
return render(request, 'index.html')
if request.method == "POST":
form = InputForm(request)
call_form_function(form)
return render(request, 'index.html')
, где «InputForm.py» - это обычный python класс, который принимает теги идентификаторов форм и использует их в качестве входных данных для функций.
def __init__(self, request):
self.request_function = request.POST.get("request_function")
self.input_method = request.POST.get('input_method')
self.dataset_path = request.POST.get('dataset_path')
self.face_files = request.FILES.getlist['face_files']
self.face_name = request.POST.get('face_name')
из django документы , я использовал эту функцию:
def handle_uploaded_file(f):
with open('some/file/name.txt', 'wb+') as destination:
for chunk in f.chunks():
destination.write(chunk)
Но django автоматически закрывает файл, прежде чем я смогу что-либо написать.
ВОПРОС : Итак, мой вопрос в том, что я должен использовать django from для сохранения файлов загрузки? Есть ли способ обойти это? и если нет возможности сделать это, как я могу изменить свой файл html таким образом, чтобы он по-прежнему выглядел так же на веб-странице, а мои сценарии javascript работают с шаблонами django. ps: у меня также нет базы данных models.py, поскольку они мне не нужны.