生产中遇到文件未找到错误

问题描述 投票:0回答:1

我在 vercel 上托管了我的 django 项目,每个静态文件都正常工作。 djangoviews.py 函数

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 模板

<div class="resume">
              <input type="button" value="Resume" class="btn btn-primary" onclick="window.open('view_pdf')">
            </div>

我收到错误 /view_pdf 处出现 FileNotFoundError [Errno 2] 没有这样的文件或目录:'/var/task/static/media/Shashank_Joshi_resume.pdf'

但是我的 html 模板中有一个按钮,当我单击它的显示文件在 vercel 上未找到错误时,会显示一个 pdf 文件,但当我在本地运行它时,它的工作完全正常。 github 存储库也是最新的。

python django django-views django-templates
1个回答
0
投票

您是否在settings.py中设置了MEDIA_ROOT?检查一下
正如 ruddra 所说,运行你的collectstatic
最后你可以调试你的代码,比如打印你的文件路径
我希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.