Django 存储 AWS_QUERYSTRING_AUTH 不工作

Ken*_*son 5 python django amazon-s3 boto

我一直在尝试解决这个问题,但到目前为止我自己无法解决。关于不希望在 S3 url 中进行身份验证的问题,有几个不同的帖子。

我在我的 Django-Storages 中使用以下内容settings.py

AWS_STORAGE_BUCKET_NAME = 'testbucket'

AWS_ACCESS_KEY_ID = 'xxxxx'

AWS_SECRET_ACCESS_KEY = 'xxxxxx'

AWS_QUERYSTRING_AUTH = True

AWS_QUERYSTRING_EXPIRE = 3600'

from datetime import datetime, timedelta

AWS_HEADERS = {
    'Expires': (datetime.now() + timedelta(days=365*10)).strftime('%a, %d %b %Y 00:00:00 GMT')
}

AWS_S3_SECURE_URLS = True

AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

MEDIA_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Run Code Online (Sandbox Code Playgroud)

保存或列出文件没有问题,但没有一个 url 具有身份验证查询字符串。

一个URL的例子返回。

任何帮助深表感谢。

Far*_*ahi 4

答案是 django-storages 查询字符串与自定义域不兼容。