我使用以下指南:配置的Django /鶺鴒媒體使用S3
在指示你如何「配置Django的媒體使用S3」一節。我正在使用這個W。。
我不清楚在哪裏放置「custom_storages.py」設置。我把它放在任何地方似乎都不起作用。現在我恢復了Whitenoise。
謝謝!
我使用以下指南:配置的Django /鶺鴒媒體使用S3
在指示你如何「配置Django的媒體使用S3」一節。我正在使用這個W。。
我不清楚在哪裏放置「custom_storages.py」設置。我把它放在任何地方似乎都不起作用。現在我恢復了Whitenoise。
謝謝!
您需要設置STATICFILES_STORAGE設置
STATICFILES_STORAGE = 'path/to/custom_storages.StaticStorage'
如果您正在使用鶺鴒(我假設你做,因爲你的標記與它這個問題),你可以將它放在默認家/目錄,並指它像這樣:
# custom_storages.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
class StaticStorage(S3BotoStorage):
location = settings.STATICFILES_LOCATION
:
custom_storages.py的內容都在引導你下列規定「家/ custom_storages.StaticStorage」 0
編輯: 我有一個GitHub回購(也是一個w project項目),其中我使用此代碼,但僅限於我的媒體文件。你可以檢查它here。
謝謝你!這有幫助。 – emTr0
您可以將custom_storages.py放在您的Python路徑的任何位置。 Django將嘗試使用STATICFILES_STORAGE設置的值來查找該類,在該示例中該值爲'custom_storages.StaticStorage'。因此,Django實際上將「導入custom_storages」並使用「custom_storages.StaticStorage」作爲存儲類。只要確保你可以「導入custom_storages」,它應該工作。
只是一些建議;我遵循相同的教程,並使其工作,但是,'django-storages'項目沒有得到積極維護。我發現了一個bug,併發布了一個PR,但它沒有被合併或評論過,並且已經有好幾個月了。由於我只使用S3並且不需要其他存儲類型,因此我轉而使用django-s3-storage,這顯着簡化了事情,並且有詳細記錄。你可以在這裏找到它:https://github.com/etianen/django-s3-storage – FlipperPA
@FlipperPA Django-storages被積極維護,如果你看看提交歷史,你幾乎每天都會看到更新。 – dentemm
@dentemm公平點,我沒有檢查一下。但是這個PR是一個相當重要的錯誤修復,已經有一段時間了:https://github.com/jschneier/django-storages/pull/233關於W,,這會導致用戶在Wagtail上傳的圖片/文檔到因爲'size'應該用來代替'content_length'。 – FlipperPA