作为该过程的一部分,我的网站从 pandas 数据框创建了一个 csv 文件 -
df.to_csv()
由于应用部署在Heroku上,这里没有持久化文件存储,我想把这个保存到Amazon S3。我为上传的文件和静态文件设置了这个,但无法让它工作。非常感谢任何帮助。
最佳答案
也许你可以使用django-storages将您的文件保存到 Amazon S3。像这样将您的 AWS 凭据添加到您的配置中:
heroku config:add AWS_ACCESS_KEY_ID='your_key_here'
heroku config:add AWS_SECRET_ACCESS_KEY='your_secret_here'
heroku config:add AWS_STORAGE_BUCKET_NAME='your_bucket_name_here'
并像这样在您的 settings.py 中检索它们:
AWS_ACCESS_KEY = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
更新:您可以尝试 StringIO
来做这样的事情:
from django.core.files.base import ContentFile
from StringIO import StringIO
output = StringIO()
df.to_csv(output)
mymodel.myfield.save('django_test.csv', ContentFile(output.getvalue()))
关于python - 如何将输出文件从 Django 保存到 Amazon S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282884/