You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django配置应用后报错No module named 'app.urls'问题求助

Django 配置应用路由后报 ModuleNotFoundError: No module named 'app.urls' 排查解决步骤
  • 排查点1:确认app目录下存在urls.py文件
    python manage.py startapp 命令默认不会生成应用的urls.py模块,绝大多数该报错都是漏了创建这个文件导致的。如果app目录下没有该文件,手动新建app/urls.py,基础模板如下:
from django.urls import path
from . import views

# 必须声明urlpatterns变量,否则还会抛出后续导入错误
urlpatterns = [
    # 此处编写应用内的路由规则
]

如果已经创建了该文件,确认文件名拼写正确(不要写成url.py、Urls.py),Windows系统可关闭「隐藏已知文件类型的扩展名」,避免生成urls.py.txt这类无效文件。

  • 排查点2:检查应用路径和导包配置
    确认app文件夹和项目根目录的manage.py为同级目录。如果你是将所有应用统一放在apps这类子目录下管理,需要在settings.py中添加导包路径:
import os
import sys
BASE_DIR = Path(__file__).resolve().parent.parent
# 将apps目录加入Python导包搜索路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

同时INSTALLED_APPS和路由include的路径也要对应调整为实际的包路径。

  • 排查点3:排查命名冲突与大小写问题
    不建议将应用命名为app这类通用名称,容易和Python内置模块、第三方依赖重名导致导包优先级异常。另外确认所有配置里的应用名称大小写和实际目录名完全一致,Linux、MacOS系统对路径大小写敏感,大小写不一致会直接导致导包失败。
  • 排查点4:确认app目录被识别为Python包
    如果你的Python版本低于3.3,或者项目配置了特殊的包规则,可以在app目录下新建一个空的__init__.py文件,确保该目录被识别为Python包模块。
  • 排查点5:确认项目运行的工作路径正确
    运行python3 manage.py runserver等命令时,必须在manage.py所在的项目根目录执行,否则Python的导包搜索路径异常会找不到应用模块。

内容的提问来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:15:02