Загрузка файла в папку без использования кнопки отправки в Django
Я работаю над проектом Django, и сценарий таков: я хочу сохранить файл в папке без нажатия на кнопку отправки. Я уже сохраняю файл в папке с помощью кнопки submit, но теперь сценарий изменился, и теперь я хочу сохранить файл без нажатия на кнопку submit. Вот подробная информация о моих файлах:
views.py:
def compliance_check(request):`
if request.method == 'POST':`
uploaded_file = request.FILES['doc']`
print(uploaded_file.name)`
print(uploaded_file.size)`
fs = FileSystemStorage()`
fs.save(uploaded_file.name, uploaded_file)`
messages.info(request, 'your file ' + uploaded_file.name + " has been uploaded successfully")
return render(request, 'enroll/abc.html')
upload.html:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" id="file" name="doc">
<input type="submit" name = "doc" value="upload file" class="btn btn-warning btn-sm" disabled />
</form>
settings.py:
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join('/home/t/Desktop/folder name')
MEDIA_URL = '/upload/'
urls.py:
path('compliance_check/', views.compliance_check, name='compliance check'),
Сейчас ситуация такова, что я уже сохраняю файл в папке. Но теперь я хочу сохранить файл без нажатия на кнопку отправки.
Попробуйте это в вашем html:
<form method="post" enctype="multipart/form-data" name="myform">
{% csrf_token %}
<input type="file" id="file" name="doc" onchange="document.myform.submit()">
</form>
Это отправит форму, если пользователь закроет диалог выбора файла (я предполагаю, что это то, что вы хотите). Выберите более подходящее имя для вашей формы, чем "myform".