Я работаю над веб-приложением, в котором пользователь загружает видео, и мы выполняем распознавание речи на нем, а затем переводим его текст на другой язык. Итак, если запрос POST, то мы вызываем ту функцию, которая выполняет эти функции, и если запрос GET, это не должно вызывать это, но в моем случае, по запросу POST, сначала выполняется функция, а затем отправляется запрос POST. И он выполняет функции для последнего видео в базе данных.
Это дает тот же результат, даже если я помещаю вызов функции в конце оператора условия запроса POST, и если я помещаю вызов функции из условия запроса POST, вызов функции при каждой перезагрузке страницы, которая не требуется, и я не знать другие способы, как решить эту проблему.
"""Django==2.0.2 views.py"""
def generatingsubtitle(request):
latestvideo = Video.objects.last()
videofile = latestvideo.videofile
path = settings.MEDIA_ROOT + videofile.name
filename = os.path.splitext(videofile.name)[0]
srtpath=settings.STATIC_ROOT+filename
if request.method == 'POST':
#function call
main(path, srtpath)
form = forms.VideoForm(request.POST or None, request.FILES or None)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('generatingsubtitle'),
)
else:
form = VideoForm()
return render(request, 'app/generate.html', {
'form': form,
'videofile': videofile,
'filename':filename,
},
)
Я ожидаю, что сначала отправляется запрос POST, и мы берем путь к вновь отправленному файлу и передаем его вызову функции, но фактический результат - сначала вызов функции после отправки запроса функции POST.
Любая помощь будет высоко оценена.