У меня есть модель, где у меня есть FileField для загрузки некоторых документов. Я сохраняю файлы в своей файловой системе. Я хочу знать, можно ли сохранить файлы на другом сервере с помощью ftp или другого метода. Например, сервер приложений django запускается на хосте 192.168.0.1, и я хочу сохранить файлы на хосте с IP 192.168.0.2.хранить файлы на удаленном сервере Django
Я могу без проблем получить доступ через 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/'
Я думал то же самое, но когда пользователь пытается загрузить файл, как я могу получить файл с ftp с помощью приложения django. – Joseleg
У вас будет URL-адрес файла ?, если так, он должен быть чем-то тривиальным, просто прочитайте файл и получите его по HTTP. Поскольку вы должны писать или использовать расширение FileField или настраиваемое поле, у вас будут методы раскрытия, такие как «File # path» или «File # url», как в FileField. Снова django-хранилища используют FileField, вам просто нужно передать «storage = FTPStorage()» в качестве параметра для использования FTP, и поскольку это FileField, у вас есть все методы из него. – rscnt
Хорошо Спасибо, я попробую то, что вы предлагаете. Очень полезно – Joseleg