Ссылки на скачивание Django работают только в новой вкладке

Это сводит меня с ума, я разрабатываю приложение django и мне нужно предоставить ссылку на скачивание файла, расположенного в папке media. Если я ввожу url в пустой вкладке, все работает нормально, файл скачивается, но если я нажимаю на ссылку с сайта, ничего не происходит. Я понимаю, что это может быть связано с тем, что url файла не имеет того же происхождения, что и сайт, и, насколько я понял, браузер не разрешает загрузку, так ли это? Есть ли какой-нибудь способ обойти?

url of the website (in development): http://localhost:8000/django_app/view_name
url of the file: http://localhost:8000/django_app/media/file.ext

Я попробовал следующий html href:

href="../media/file.ext" download target="_blank"

И следующий вид:

def download_file(request):


fl_path = settings.MEDIA_ROOT + "\\filename.ext"
filename = "file_name"

mime_type, _ = mimetypes.guess_type(fl_path)
response = HttpResponse(fl, content_type=mime_type)
response['Content-Disposition'] = "attachment; filename=%s" % filename

return response

При нажатии на ссылку ничего не происходит, ошибка не возникает. Если я открываю ссылку в новой вкладке, она загружает файл нормально... Обратите внимание, что мне нужно иметь возможность динамически изменять ссылку href. Спасибо!

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