所有文件,包括那些未正确显示的文件,都存在于我在亚马逊的存储桶中。我发现仅有的两个不显示的图像是 icon_clock.gif 和 icon_calendar.gif。其他一切正常。
当我检查损坏图像的链接位置时,我得到了这个:
https://my_bucket_name.s3.amazonaws.com/admin?Signature=MY_SIGNATURE&AWSAccessKeyId=MY_KEYimg/icon_clock.gif
如您所见,查询参数并未添加到末尾,而是添加到链接的中间。
以下是相关设置:
import os.path
ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
PROJECT_NAME = os.path.basename(ROOT_DIR)
def ABS_PATH(*args):
return os.path.join(ROOT_DIR, *args)
STATIC_ROOT = ABS_PATH('static')
AWS_ACCESS_KEY_ID = 'MY_KEY'
AWS_SECRET_ACCESS_KEY = 'MY_SECRET_ACCESS_KEY'
AWS_STORAGE_BUCKET_NAME = 'my_bucket_name'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL