Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django媒体文件部署-文件位置更改_Django_Amazon S3_Storage_Digital Ocean - Fatal编程技术网

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

Django媒体文件部署-文件位置更改,django,amazon-s3,storage,digital-ocean,Django,Amazon S3,Storage,Digital Ocean,我正在Digitalocean中运行一个web服务器。我们需要上传客户的图片(媒体文件)。现在,就低估而言,在以下情况下: class Car(models.Model): ... photo = models.ImageField(storage=fs) 照片字段将存储文件的url,对吗 现在,我们可能在不久的将来转向amazon(以S3作为存储系统)。模型字段值是否会更改 那么,您如何建议我们处理更改(因为我们将有两台服务器,一台EC2用于django,另一台用于S3用于媒

我正在Digitalocean中运行一个web服务器。我们需要上传客户的图片(媒体文件)。现在,就低估而言,在以下情况下:

class Car(models.Model):
    ...
    photo = models.ImageField(storage=fs)
照片字段将存储文件的url,对吗

现在,我们可能在不久的将来转向amazon(以S3作为存储系统)。模型字段值是否会更改


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

您可以在部署过程中在收集静态文件后将静态文件和媒体文件上载到S3。如果有多台服务器,您只需要在一台服务器上运行
collectstatic
,那么您就可以从S3访问多台服务器的相同内容


如果您看一下,这里有一个关于如何在S3上存储文件的详细指南。

Hey@hybor非常感谢您的回复。虽然我有一些通过S3提供静态文件的想法,但您确实提供了帮助。谢谢但我的主要疑问是:目前我的静态文件和django项目是从同一台服务器提供的。一旦我更改它,它会影响模型字段吗?(如问题中所述?)。谢谢,这不会影响模型字段。storage=fs将把您的文件存储在/media/photos文件夹下(我个人在ImageFields中使用upload_to='model_name/images'选项)。收集和发送S3也将处理您的情况。