django改文件存储为fastdfs

本文介绍了如何在Django项目中将文件存储改为FastDFS,通过安装py3fdfs库,配置客户端,并处理初始化参数错误,成功上传文件。同时展示了如何自定义storage类,并在settings.py中设置相关配置。
摘要由CSDN通过智能技术生成

直接pip install py3fdfs安装,安装完以后使用:

from fdfs_client.client import *
client = Fdfs_client('/etc/fdfs/client.conf')

然后给你来个异常,TypeError: type object argument after ** must be a mapping, not str,这一看就是传入参数不对,要传一个字典吧估计,Fdfs_client里的构造函数是这样的

def __init__(self, trackers, poolclass=ConnectionPool):
    self.trackers = trackers
    self.tracker_pool = poolclass(**self.trackers)
    self.timeout = self.trackers['timeout']
    return None


trackers里发现一个[‘timeout’],看来是要传入这么个key,继续找ConnectionPool

def __init__(self, **conn_kwargs):
    self.pid = os.getpid()
    self.host_tuple = conn_kwargs['host_tuple']
    self.remote_port = conn_kwargs['port']
    self.remote_addr = None
   self.timeout = conn_kwargs['timeout']
    self._sock = None

还有host和端口,看来这是要把client.conf那些配置项都传进去,那只能先传着喽,

client = Fdfs_client({'host_tuple': '64.19.202.73', 'port': 22122, 'timeout': 30})
 

client.upload_by_filename('test')
[-] Error: 11001 connect to 0:22122. getaddrinfo failed.
[-] Error: 11001 conn

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值