【问题标题】:images not getting displayed from amazon s3 bucket for django projectdjango 项目的亚马逊 s3 存储桶中未显示图像
【发布时间】:2018-05-24 16:47:07
【问题描述】:

这些是我的 s3 配置。

DEFAULT_FILE_STORAGE = 'doctocliq.utils.MediaRootS3BotoStorage'
STATICFILES_STORAGE = 'doctocliq.utils.StaticRootS3BotoStorage'
AWS_STORAGE_BUCKET_NAME = 'doctocliq'
S3DIRECT_REGION = 'us-west-2'
S3_URL = '//%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
MEDIA_URL = '//%s.s3.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME
MEDIA_ROOT = MEDIA_URL
STATIC_URL = S3_URL + 'static/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'

使用 collectstatic 命令将所有静态文件上传到存储桶,除了图像,所有其他静态文件都在工作,在本地服务器上也没有问题。网站链接是http://doctocliq-dev.us-west-2.elasticbeanstalk.com/。希望有人能帮助我,谢谢。

【问题讨论】:

  • 你不是缺少 S3_URL 和 MEDIA_URL 中的区域吗?

标签: django amazon-web-services amazon-s3


【解决方案1】:

S3_URl 应该是:

//s3-${AWS::Region}.amazonaws.com/% AWS_STORAGE_BUCKET_NAME

由于 URL 中未提及区域,因此无法定位对象。当存储桶不在弗吉尼亚北部地区时,尤其需要这样做。

另外,参考 SuspiciousOperation:

"Suspicious Operation" calling static files from Amazon S3

Django amazon s3 SuspiciousOperation

【讨论】:

  • 我已经添加了你提到的,但没有任何区别。
  • 是否在图片url中添加aws区域?
  • 此错误仅适用于某些图像,其中一些是可见的,因此当我将调试更改为 true 时,错误消息是 SuspiciousOperation at /registrar-doctor/ Attempted access to '/images/backgrounds/ doctablet.png' 被拒绝。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 2011-06-26
  • 1970-01-01
相关资源
最近更新 更多