我对 S3 的理解是
您不希望您的客户端访问您的服务器,然后通过 urls.py 访问 s3。您的客户最好直接从 s3 获取文件(图像)。
因此,您需要将整个 url(image_field.url)而不是相对路径(image_field.name 或类似)返回给您的客户端使用。
但是,如果您从 S3 转移到其他服务怎么办?
假设您以后可能想从 amazon S3 切换到其他东西,将整个 URL 返回给客户端将是一种好的做法?
MEDIA_URL
是BASE_URL
您所有上传的资产的。默认情况下,Django 在数据库中存储上传文件的相对路径。
如果使用 S3,MEDIA_URL
应设置为您的存储桶 URL,例如http://yourbucket.s3.amazonaws.com/。
如果您移至其他服务,则可以更改MEDIA_URL
设置。应该就是这么简单。