这很奇怪。我混合了公共文件和私人文件。我想要公共文件中的普通网址,以及私人文件中的签名网址。
我试图改变AWS_QUERYSTRING_AUTH to False
我默认看到的,它在 django-storages 中是真的。
但是,当我更改它时,我的私人文件 url 没有签名(因此无法访问)。
可能是我在这里遗漏了一些东西。什么可以解决?
提前致谢。
这很奇怪。我混合了公共文件和私人文件。我想要公共文件中的普通网址,以及私人文件中的签名网址。
我试图改变AWS_QUERYSTRING_AUTH to False
我默认看到的,它在 django-storages 中是真的。
但是,当我更改它时,我的私人文件 url 没有签名(因此无法访问)。
可能是我在这里遗漏了一些东西。什么可以解决?
提前致谢。
AWS_QUERYSTRING_AUTH
设置默认行为,但您可以在创建 的实例时覆盖它S3BotoStorage
,方法是将附加参数传递给初始化程序:
S3BotoStorage(bucket="foo", querystring_auth=False)
因此,如果您有一个私有存储桶和另一个公有存储桶,您可以querystring_auth
适当地设置参数并获得您想要的行为。
把这个放在你的settings.py
AWS_QUERYSTRING_AUTH = False
解决此问题的另一种方法是在您的设置中设置 AWS_S3_CUSTOM_DOMAIN。@see:https ://github.com/jschneier/django-storages/blob/master/storages/backends/s3boto.py#L478
(用 boto==2.38.0 和 django-storages-redux==1.3 测试)