我有一个模型,我有FileField上传一些文件。我将文件保存到我的文件系统中。我想知道是否可以使用ftp或其他方法将文件保存在另一台服务器中。 例如,我的django app服务器在主机192.168.0.1中运行,我想将文件存储在IP 192.168.0.2的主机中。
我可以通过ftp访问我想要存储文件的服务器而没有任何问题。
型号:
class Documentacion(models.Model):
id_doc = models.AutoField(primary_key=True)
id_proceso = models.ForeignKey(Proceso,db_column='id',verbose_name='Proceso')
tipo_docu = odels.CharField(max_length=100,null=False,blank=False,verbose_name='Tipo Doc.')
fecha = models.DateField(auto_now = True)
autor = models.CharField(max_length=50,blank=False,null=False)
descripcion = models.CharField(max_length=250,blank=True,null=True)
documento = models.FileField(upload_to='docs/')
我的媒体设置:
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'
答案 0 :(得分:2)
如果您浏览文档,FileField#upload_to只能定义本地文件系统路径。
您可以做的一件事是:让用户正常上传内容,然后当您在文件系统中运行内容时,运行将文件上传到另一台服务器(即您的ftp服务器)的过程,您可以使用ftplib图书馆来实现这个目标。
也许使用Django Storages可以简化您的工作。