AttributeError: ‘PosixPath‘ object has no attribute ‘rstrip‘ 报错问题记录

在使用Python 3.6.5和Django 3.1.5开发在线教育网站时,遇到'PosixPath' object has no attribute 'rstrip'的错误。问题源于在settings的INSTALLED_APPS中添加drf_yasg或rest_framework时,由于sys.path.insert(0, BASE_DIR)中的BASE_DIR为PosixPath对象,而函数需要字符串。报错的根本原因是参数类型错误,因调试遗留的sys.path.insert()代码与Django自带的BASE_DIR定义不匹配。解决方案是确保BASE_DIR为字符串类型。" 88538311,8048728,排序算法全解析:时间复杂度与优化,"['排序算法', '数据结构', '算法', '时间复杂度', '空间复杂度']
摘要由CSDN通过智能技术生成

环境

python3.6.5
django 3.1.5

问题定位及解决

最近准备开发一个在线教育的网站,各个环境都搭好了,并且测试demo 也能跑的好好的,为了以后
调试接口方便,所以我打算把swagger,也放进来进行接口管理,于是我按照网上教程老老实实的始安装drf_yasg, 并配置到我的项目中,等一切配完以后,项目一跑,啪!报错:AttributeError: ‘winsPath’ object has no attribute ‘rstrip’,我于是就开始看报错信息,看半天没有头绪,于是各自百度谷歌,一顿猛搜,相关的资料比较少,仅有的几个也和当前我的环境有很大区别。 这个时候,旁边同事,说可能是你再windows上开发,导致的djiango 或者drf_yasg 和windows有不兼容。建议我换到linux上进行开发,于是我再同事的帮助下,三下五除二的把linux上的开发环境搭好了,但是一跑,啪!! 依然报错:AttributeError: ‘PosixPath’ object has no attribute ‘rstrip’ 。哦豁~ 看来跟平台无关,那就是代码问题了,于是我把所有做的关于与swagger的配置全部注释了,项目又正常了,于是断定,是drf_yasg引起的问题,于是我把配置一行行的放开注释,调试报错,最终发现再django的settings里面的INSTALLED_APPS 下添加drf_yasg的时候,会有那个问题。注释掉就不报错,看来就是这行注册app的代码导致的,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值