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

Django运行报错ModuleNotFoundError: No module named 'blog.eg'如何解决?

Django ModuleNotFoundError: No module named 'blog.eg' 报错修复方案

报错信息

File "C:\Program Files\Python310\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked      
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed    
File "C:\Users\user\demoDjango\blog\eg\urls.py", line 1, in <module>
from blog.eg.views import home
ModuleNotFoundError: No module named 'blog.eg'

报错原因

  • 核心原因是eg没有被注册为Django可识别的应用模块:你在blog/urls.py中调用include("eg.urls")时,Django会优先从已注册的应用列表中查找对应模块,未注册的应用无法被识别。
  • 次要原因包括:eg目录下缺失Python包必需的__init__.py空文件,或者eg/urls.py中使用了错误的绝对导入路径。

修复步骤

  1. 检查blog/eg/目录下是否存在__init__.py文件,没有就新建一个空的同名文件,将该目录标记为可导入的Python包。
  2. 打开项目根目录下的settings.py,找到INSTALLED_APPS配置项,将eg添加到列表末尾:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 新增注册eg应用
    'eg',
]
  1. 确认blog/eg/urls.py的导入语句使用相对导入,保持如下写法即可,不要写绝对导入路径:
from django.urls import path
from . import views

urlpatterns =[
    path('', views.home, name="home"),
]
  1. 如果修改后仍报错,可将blog/urls.py中的include参数修改为完整路径:
path("", include("blog.eg.urls")),

同时将settings.py中INSTALLED_APPS里的eg替换为'blog.eg'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:48:02