Django报错:ModuleNotFoundError: No module named 'main_app/urls'求助
解决Django中
ModuleNotFoundError: No module named 'main_app/urls'的常见原因 路由引用用了斜杠而非点:这是最可能的问题。在项目根
urls.py里引入应用路由时,必须用点.分隔模块层级,比如正确写法是path('', include('main_app.urls')),而不是main_app/urls——你报错里的模块名带斜杠,大概率是这里写错了。确认
main_app的模块结构:- 检查
main_app目录下是否有__init__.py文件(空文件也行),没有这个文件Python不会把它识别为可导入的模块。 - 确保
urls.py确实直接放在main_app目录下,不是嵌套在子文件夹里。
- 检查
检查Python路径配置:
偶尔项目根目录不在Python的搜索路径里,你可以在settings.py开头加几行代码验证:import sys, os print("当前Python路径:", sys.path) print("项目根目录:", os.path.dirname(os.path.abspath(__file__)))如果项目根目录不在输出的路径列表里,手动添加:
sys.path.append(os.path.dirname(os.path.abspath(__file__)))虚拟环境或Django版本问题:
既然其他项目正常,试试检查当前项目的Django版本:python -m django --version,对比正常项目的版本是否一致。另外确认当前用的虚拟环境是正确的,没有混用其他环境的依赖。IDE缓存干扰:
用PyCharm、VSCode这类工具时,缓存可能导致模块识别异常。试试重启IDE,或者:- VSCode:按
Ctrl+Shift+P选择「Python: Clear Workspace Interpreter Cache」 - PyCharm:选择「File -> Invalidate Caches...」,勾选选项后重启
- VSCode:按
内容的提问来源于stack exchange,提问作者Taylor
相关产品推荐
相关产品推荐

