ModuleNotFoundError: No module named ‘XXX‘; ‘XXX‘ is not a package问题

本文介绍了在使用PyCharm运行Django项目时遇到的ModuleNotFoundError错误。错误原因是由于对组件的middleware.py文件执行重构,导致设置文件setting.py中的MIDDLEWARE配置错误。解决方案是通过重构将middleware.py重命名为middleware,更新setting.py中的相关引用,从而成功解决运行错误。
摘要由CSDN通过智能技术生成

1今天在使用pycharm运行django项目的时候遇到的蜜汁bug。

我这里的详细报错是:ModuleNotFoundError: No module named 'django.contrib.auth.middleware.py'; 'django.contrib.auth.middleware' is not a package

看到middleware.py,我想起了前一阵对组件创建的middleware.py重命名时,pycharm出现了下面的提示:

我当时直接点的执行重构导致许多文件的数据发生了变化,如setting.py中的MIDDLEWARE:

#正常情况

'django.middleware.csrf.CsrfViewMiddleware',

#重构后

'django.middleware.py.csrf.CsrfViewMiddleware',

这就是我的,产生“找不到模块”报错的原因了。

解决方案:

我这里报错是因为配置文件的middleware字段重构成了middleware.py,因此将该文件(我这里的middleware.py)重新命名为middleware,这时会看到属性的重构提醒界面:

点击下方的执行重构,发现如setting.py中的MIDDLEWARE中受影响的那一行发生了变化(重构的文件不同,受影响字段也会不同)。

再次运行发现运行成功了,问题解决。

希望对你有所帮助^_^

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值