django自定义文件存储为fastdfs

在部署好fdfs环境后,通过Python的py3fdfs库进行操作时遇到异常。错误提示TypeError: type object argument after ** must be a mapping, not str。经过查看源码发现需要将client.conf的配置项作为字典传入,并解决了host_tuple问题。最终在Django中成功自定义文件存储,并在setting.py中配置相关参数。" 123287614,9072171,使用Vue.js和JavaScript实现箭头切换的Tabs,"['前端开发', 'Vue', 'JavaScript', 'jQuery', 'UI组件']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚部署好了fdfs环境,肯定要用python来操作一番呀。这里有个坑,记录一下。

直接找py3fdfs源码,在这里py3fdfs,直接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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值