Django媒体文件部署 - 更改文件位置

时间:2017-04-26 11:46:03

标签: django amazon-s3 storage digital-ocean

我正在使用Digitalocean运行Web服务器。我们处于需要上传客户图像(媒体文件)的情况。现在,就下面的情况而言,在以下情况中:

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)

照片字段会存储文件的网址,对吗?

现在我们可能会在不久的将来转向亚马逊(使用S3作为存储系统)。模型字段值会改变吗?

那么,您如何建议我们处理这一变化(因为我们将有两个服务器,一个用于django的EC2和用于媒体和静态文件的S3)?

1 个答案:

答案 0 :(得分:0)

您可以在collectstatic之后部署期间将静态和媒体文件上传到S3。如果是多台服务器,您只需要在一台服务器上运行collectstatic,然后您就可以从S3为多台服务器访问相同的内容。

如果你看一下https://www.caktusgroup.com/blog/2014/11/10/Using-Amazon-S3-to-store-your-Django-sites-static-and-media-files/,就会有关于如何在S3上存储文件的详细指南。