python 链接django项目到ftp服务器

3htmauhk  于 2023-03-06  发布在  Python
关注(0)|答案(1)|浏览(205)

我将文件上载到FTP服务器:默认文件存储= '存储.后端.ftp. FTP存储' FTP存储位置= f 'ftp://{FTP用户}:{FTP通过}@{FTP本地主机}:21/上载/'
但是我无法在django项目中下载它们。
也许你应该重写MEDIA_ROOT和MEDIA_URL?谁能帮忙?
媒体URL = '/media/'媒体根= os.path.join(FTP_STORAGE_LOCATION,)我尝试更改媒体根,但没有任何效果

hpcdzsge

hpcdzsge1#

使用FTPStorage时,应将MEDIA_ROOT和MEDIA_URL设置为服务器上存储上载文件的位置以及访问这些文件的URL。
以下是www.example.com的配置示例settings.py:

MEDIA_URL = 'http://example.com/media/'
MEDIA_ROOT = 'ftp://user:password@ftp.example.com/path/to/media/'
DEFAULT_FILE_STORAGE = 'storages.backends.ftp.FTPStorage'

请确保将MEDIA_URL和MEDIA_ROOT的值替换为您自己的FTP服务器详细资料。此外,请确保在MEDIA_ROOT URL中指定的用户具有访问和修改远程目录所需的权限。
然后,当你想在Django代码中访问上传的文件时,你可以使用file字段的url属性,它会根据MEDIA_URL设置生成URL:

from django.db import models

class MyModel(models.Model):
    file = models.FileField(upload_to='uploads/')
    
my_model = MyModel.objects.first()
file_url = my_model.file.url

这将返回类似http://example.com/media/uploads/myfile.pdf的URL,可用于从FTP服务器下载文件。

相关问题