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

eug*_*ene 2 django amazon-s3

我对S3的理解是

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

将整个URL返回给客户端是一种可行的做法,假设您可能希望稍后从亚马逊S3切换到其他东西?

pan*_*843 6

MEDIA_URLBASE_URL您所有上传的资产.默认情况下,Django存储上传文件在数据库中的相对路径.

如果使用S3,MEDIA_URL则应将其设置为您的存储桶URL,例如http://yourbucket.s3.amazonaws.com/.

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