读取和写入存储在aws s3(Heroku + Django)中的DB文件

时间:2015-07-13 13:12:13

标签: django heroku django-models amazon-s3 heroku-postgres

我坚持一个简单的要求,我很感激任何想法!

首先是环境:使用Postgres数据库在Heroku上部署Django应用程序并提供来自AWS S3的静态文件。

我有一个带有FileField的模型,当我上传文件时,它存储在AWS S3存储桶中。

我只需要阅读文件,写一些文字并再次保存,它应该很简单,对吧?

我设法在我的笔记本电脑中使用dev,但是当我将应用程序部署到heroku时,我遇到了很多错误,例如文件路径错误(我猜它试图在heroku服务器中查找aws存储桶路径)写下写作和其他一些......

我做错了吗?我怎样才能做到这一点? Thx in advanced!

1 个答案:

答案 0 :(得分:1)

我在想错...

解决方案是直接在定义的存储中读写:

from django.core.files.storage import default_storage
with default_storage.open(model.field.name, "w+") as f:
    f.write("hello")

希望这对任何人都有用