使用Django Storages来管理S3上的静态文件。然后按照Heroku Static assets guide when deploying。
首先,使用AWS控制台或您最喜欢的工具在S3中创建一个存储桶。然后,修改settings.py并添加以下值:
import os
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = '<YOUR BUCKET NAME>'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
请注意,我们正在使用环境变量来存储AWS访问密钥和密钥。虽然我们在这个主题上,但如果您打算开源部署您正在部署的Django应用程序,请考虑将您的SECRET_KEY存储在环境变量中。
以上是从here
这太棒了!谢啦!你可能想要做的唯一事情就是,因为这种方法是Boto,所以使用这种方法的任何人都必须安装[Boto](http://pypi.python.org/pypi/boto)。 虽然我确实有另一个问题。我如何添加一个访问控制策略= public-read给它?我尝试在settings.py中添加acl ='public-read',但似乎不起作用 – Jonathan
我只想让Google文档查看器能够访问我上传的文件。有没有办法让这种情况发生? – Jonathan
也许http://aws.amazon.com/s3/faqs/#How_can_I_control_access_to_my_data_stored_on_Amazon_S3应该有所帮助? –