I'm using the following guide:
At the section that instructs you on how to "Configuring Django media to use S3". I'm using this for Wagtail.
I'm unclear on where to put the "custom_storages.py" settings. Everywhere I'm putting it doesn't seem to work. I reverted back to Whitenoise for now.
Thanks!
2 Answers 2
You can put custom_storages.py anywhere on your Python path. Django will try to find the class using the value of the STATICFILES_STORAGE setting, which in the example is 'custom_storages.StaticStorage'. So Django will, in effect "import custom_storages" and use "custom_storages.StaticStorage" as the storage class. Just make sure you can "import custom_storages" and it should work.
3 Comments
You need to set the STATICFILES_STORAGE setting
STATICFILES_STORAGE = 'path/to/custom_storages.StaticStorage'
If you are using wagtail (which I assume you do since you are tagging this question with it), you can place it in the default home/ directory and refer to it like so: 'home/custom_storages.StaticStorage'
The content of custom_storages.py are stated in the guide you are following:
# custom_storages.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
class StaticStorage(S3BotoStorage):
location = settings.STATICFILES_LOCATION
Edit: I have a GitHub repo (also a wagtail project) in which I am using this code, but only for my media files. You can check it here.
1 Comment
Explore related questions
See similar questions with these tags.
django-storagesproject is not being actively maintained. I found a bug and issued a PR, but it hasn't been merged or commented on, and it has been quite a few months. Since I was only using S3 and didn't need the other storage types, I switched to using django-s3-storage, which simplifies things significantly and is well documented. You can find it here: github.com/etianen/django-s3-storagesizeshould be used instead ofcontent_length.