django存储与S3,给客户端的完整或相对URL?

时间:2013-01-22 12:43:42

标签: django amazon-s3

我对S3的理解是

您不希望您的客户端访问您的服务器,然后通过urls.py命中s3。您的客户最好直接从s3获取文件(图像) 因此,您需要将整个URL(image_field.url)而不是相对路径(image_field.name或类似名称)返回给您的客户端。
但是,如果你从S3转移到其他服务怎么办?

假设您可能希望稍后从亚马逊S3切换到其他内容,那么将整个URL返回给客户端是一种不错的做法吗?

1 个答案:

答案 0 :(得分:6)

MEDIA_URL是所有已上传资源的BASE_URL。默认情况下,Django将上传文件的相对路径存储在数据库中。

If using S3MEDIA_URL应设置为您的存储分区网址,例如http://yourbucket.s3.amazonaws.com/

如果您转到其他服务,则可以更改MEDIA_URL设置。应该那么简单。