当媒体图像提交到我的网站时,图像最初正确加载,而不是刷新时,它会从创建断开链接的路径中删除媒体/。 (见下文)图像正在AWS上的媒体文件夹下正确加载,我似乎有正确的Django设置。有谁知道可能导致这个问题的原因? 初始图像加载:
HTTPS://.s3.amazonaws.com/media/cache/42/f8/42f8cebf023fcd3a63d236d75101817e.jpg 刷新后的图像加载:
的https://.s3.amazonaws.com/cache/42/f8/42f8cebf023fcd3a63d236d75101817e.jpg
因为您可以看到路径更改以从路径中排除媒体/。
就像背景一样: 我使用Django存储,我在已安装的应用程序上有“存储”。 我使用Boto3并在我的utils.py文件中进行以下设置:
from storages.backends.s3boto3 import S3Boto3Storage
StaticRootS3BotoStorage = lambda: S3Boto3Storage(location='static')
MediaRootS3BotoStorage = lambda: S3Boto3Storage(location='media')
这是我的conf.py文件配置
S3_URL = '//%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
MEDIA_URL = S3_URL + 'media/'
MEDIA_ROOT = MEDIA_URL
STATIC_URL = S3_URL + 'static/'
静态文件就像魅力一样,问题只在于刷新后的媒体文件。
正如附加背景,媒体文件缓存的方式是用户提交到mysite的链接,我抓取链接的网站并将og:image链接网址保存在我的模型中的网站上作为og_image_url。我将模板上的图像显示为{{submissions.og_image_url.url}}。它在Dev中没有任何缺陷,但这个问题出现在生产中,这使我相信这是亚马逊s3如何处理缓存图像的问题。
感谢您的帮助!