我最近在Heroku上上传了我的Django网站,并且媒体和静态文件由Amazon S3提供。 静态文件和媒体文件运行良好,我可以在网站上看到它们。但是,当我尝试在个人资料页面中上传个人资料图片时,问题就来了。
它显示客户端错误:
An error occurred (InvalidAccessKeyId) when calling the PutObject operation: The AWS Access Key Id you provided does not exist in our records.
我的Amazon s3设置:
AWS_STORAGE_BUCKET_NAME = 'oryxrating'
AWS_S3_CUSTOM_DOMAIN = 's3.ap-south-1.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_KEY = os.environ.get('AWS_SECRET_KEY')
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
DEFAULT_FILE_STORAGE = 'Oryx.storage_backends.MediaStorage'
我已在heroku配置变量中将亚马逊访问ID和秘密密钥设置为AWS_ACCESS_KEY_ID和AWS_SECRET_KEY,并且它们已正确设置。
请帮助我,因为我无法理解问题,而且绝对无法找到解决方案。 请告诉您将Access ID放在哪里,以便上传成功。