Django 更新的媒体URL未反映在ImageField URL中

Django 更新的媒体URL未反映在ImageField URL中,django,amazon-s3,django-storage,Django,Amazon S3,Django Storage,我正试图从AmazonS3上的文件服务转移到AmazonCloudFront,所以我更新了我的设置.py。以前,我有过这样的经历: S3_URL = 'http://{}.s3.amazonaws.com'.format(AWS_STORAGE_BUCKET_NAME) STATIC_URL = S3_URL + STATIC_DIRECTORY MEDIA_URL = S3_URL + MEDIA_DIRECTORY 我更新如下: #S3_URL = 'http://{}.s3.amazon

我正试图从AmazonS3上的文件服务转移到AmazonCloudFront,所以我更新了我的
设置.py
。以前,我有过这样的经历:

S3_URL = 'http://{}.s3.amazonaws.com'.format(AWS_STORAGE_BUCKET_NAME)
STATIC_URL = S3_URL + STATIC_DIRECTORY
MEDIA_URL = S3_URL + MEDIA_DIRECTORY
我更新如下:

#S3_URL = 'http://{}.s3.amazonaws.com'.format(AWS_STORAGE_BUCKET_NAME)
S3_URL = 'http://d2ynhpzeiwwiom.cloudfront.net'
在控制台中,将更新设置:

>>> from django.conf import settings
>>> settings.MEDIA_URL
'http://d2ynhpzeiwwiom.cloudfront.net/media/'
但不在我的模型的
图像字段上

>>> design.image.url
'https://bucketname.s3.amazonaws.com/media/images/designs/etc/etc'

有什么好处?旧信息仍然存储在哪里?如何清除它?

哎呀,原来
文件字段。url
属性没有使用
媒体url
。根据:

FieldFile.url

一个只读属性,通过调用基础存储类的URL()方法来访问文件的相对URL

在我的例子中,底层存储类是由
django storages
提供的
S3BotoStorage
。如所述,这以前不受支持,但现在可以通过将以下内容添加到
settings.py

AWS_S3_CUSTOM_DOMAIN = 'd2ynhpzeiwwiom.cloudfront.net'
现在它就像一个符咒:

>>> design.image.url
u'https://d2ynhpzeiwwiom.cloudfront.net/media/images/designs/etc/etc'

你重新启动服务器了吗?我想出来了--马上回答我自己