This is strange. I have mix of public as well as private files. I want normal urls in public files, and signed urls in private files.
I tried to change AWS_QUERYSTRING_AUTH to False
as I see by default, it's True in django-storages.
But, when I change it, my private files url is not signed (thus not accessible).
May be I am missing something here. What can be solution?
Thanks in advance.
AWS_QUERYSTRING_AUTH
sets the default behavior, but you can override it when you create an instance of S3BotoStorage
, by passing in an additional argument to the initializer:
S3BotoStorage(bucket="foo", querystring_auth=False)
So if you have one bucket private and another bucket public, you can set the querystring_auth
argument appropriately and get your desired behavior.
put this in your settings.py
AWS_QUERYSTRING_AUTH = False
Another way to get around this is to set AWS_S3_CUSTOM_DOMAIN in your settings.
@see: https://github.com/jschneier/django-storages/blob/master/storages/backends/s3boto.py#L478
(tested with boto==2.38.0 and django-storages-redux==1.3)