我一直在嘗試爲我的Heroku應用程序設置一個MEDIA_URL,該應用程序目前正在通過STATIC_URL從Amazon S3提供靜態文件。靜態文件工作正常,但是當我嘗試添加除當前STATIC_URL之外的MEDIA_URL時,頁面不再呈現,應用程序停止工作。爲Django Heroku App設置MEDIA_URL,Amazon S3
目前的設置是:
AWS_STORAGE_BUCKET_NAME = 'bucketname'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
AWS_ACCESS_KEY_ID = 'KEY'
AWS_SECRET_ACCESS_KEY = 'SECRET_KEY'
當我添加:
MEDIA_URL = S3_URL
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
導致問題。特別是,MEDIA_URL有問題,因爲DEFAULT_FILE_STORAGE被刪除時,它仍然有相同的問題。但我試圖最終確定如何通過這種方式爲用戶上傳的媒體提供服務。
如果任何人有任何見解如何最好地實現這一點,它將不勝感激。
我結束了剛剛設置DEFAULT_FILE_STORAG,其中一半排序作品。有些媒體直接進入亞馬遜S3(用戶提交的圖像),而其他的則不是。雖然使用sorlthumbnail的照片完全失敗。你的方式可能會奏效。 – 2012-07-10 17:26:13
我花了一些時間在這個上,我發現了一種很好的方式:我使用[這個小應用](https://github.com/jamstooks/django-s3-folder-storage),讓你有一個靜態和S3存儲桶中的媒體文件夾。希望有所幫助! – tiwei 2012-07-10 20:26:02
這是如何處理安全性的?並非所有的文件都是公開的嗎? – citynorman 2018-01-03 19:11:10