Загрузка файла в папку без использования кнопки отправки в 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".

Вернуться на верх