【发布时间】:2020-10-05 09:07:02
【问题描述】:
我真的坚持这个,因为我不知道从哪里开始:
我的 Django 项目允许用户上传电子表格,然后应用程序会处理和汇总上传的数据。
使用标准表单和带有 FileField 的 Django 模型将文件上传到 MEDIA_URL。 上传后,celery worker 访问文件并对其进行处理,将输出写入另一个模型。
这在本地工作正常,但在生产中不起作用。我正在部署到heroku,并使用cookiecutter-django 项目模板。我已经设置了一个 s3 存储桶,并且正在使用 django-storages 库。
文件上传没有问题 - 我可以在 Django 管理员以及 s3 存储桶中访问和删除它们。
但是,当 celery worker 尝试读取文件时,我得到一个 HTTP Error 403: Forbidden。
我不确定如何解决这个问题,因为我不确定堆栈的哪一部分包含我的错误。会不会是我的tasks.py 模块、heroku:redis 插件或settings.py 模块?
【问题讨论】:
标签: django heroku amazon-s3 celery django-media