Ошибка "файл не найден" в производстве
Я разместил свой проект django на vercel, все статические файлы работают корректно. django views.py function
def view_pdf(request):
file_path = os.path.join(settings.BASE_DIR, 'static', 'media', 'Shashank_Joshi_resume.pdf')
with open(file_path, 'rb') as pdf:
response = HttpResponse(pdf.read(), content_type='application/pdf') instead of mimetype
response['Content-Disposition'] = 'inline; filename="Shashank_Joshi_resume.pdf"'
return response
html template
<div class="resume">
<input type="button" value="Resume" class="btn btn-primary" onclick="window.open('view_pdf')">
</div>
Ошибка, которую я получаю FileNotFoundError at /view_pdf [Errno 2] Нет такого файла или каталога: '/var/task/static/media/Shashank_Joshi_resume.pdf'
Но у меня есть кнопка в моем html шаблоне, с помощью которой показывается pdf файл, когда я нажимаю на нее, она показывает ошибку file not found на vercel, но когда я запускаю ее локально, она работает абсолютно нормально. Репо на github также обновлено.
Установили ли вы значение MEDIA_ROOT в файле settings.py? Проверьте его
.
Как сказал ruddra, запустите свой collectstatic
.
В конце вы можете отладить свой код, например, вывести путь_файла
.
Надеюсь, это поможет