Django和AWS s3缓存媒体文件

时间:2018-06-09 13:10:16

标签: django amazon-s3 media-queries media

当媒体图像提交到我的网站时,图像最初正确加载,而不是刷新时,它会从创建断开链接的路径中删除媒体/。 (见下文)图像正在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如何处理缓存图像的问题。

感谢您的帮助!

0 个答案:

没有答案