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

升级Django及依赖包后启动报错No module named 'django.contrib.wagtail'求助

Wagtail升级后Django启动报错解决方案

根因说明

  1. ModuleNotFoundError: No module named 'django.contrib.wagtail' 为配置路径错误:Wagtail是独立第三方应用,不属于Django内置django.contrib模块组,该路径完全不合法
  2. 找不到wagtail.core.middleware模块 错误触发原因分为三类:当前运行虚拟环境未正确安装Wagtail 2.14.1、MIDDLEWARE配置拼写错误、Wagtail版本路径不匹配
  3. makemigrations、migrate命令仅加载与模型相关的应用配置,不会校验完整的中间件、WSGI栈配置,因此配置错误不会在这两个步骤触发,仅在启动服务时抛出异常

分步修复操作

  • 确认运行环境依赖匹配
    执行pip freeze | grep Wagtail验证输出为Wagtail==2.14.1,确认依赖安装在项目当前使用的虚拟环境中,避免全局环境/多虚拟环境冲突
  • 修正INSTALLED_APPS配置
    删除所有django.contrib.wagtail开头的配置项,Wagtail 2.14.1版本对应的标准配置前缀均为wagtail.,参考配置如下:
    INSTALLED_APPS = [
        # 其他Django内置应用
        'wagtail.contrib.forms',
        'wagtail.contrib.redirects',
        'wagtail.embeds',
        'wagtail.sites',
        'wagtail.users',
        'wagtail.snippets',
        'wagtail.documents',
        'wagtail.images',
        'wagtail.search',
        'wagtail.admin',
        'wagtail.core',
        # 其他自定义应用
    ]
    
  • 修正MIDDLEWARE配置
    核对中间件列表中Wagtail相关配置,2.14.1版本默认需要的中间件路径为wagtail.core.middleware.SiteMiddleware、wagtail.contrib.redirects.middleware.RedirectMiddleware,确认配置无拼写错误、无多余前缀
  • 验证修复结果
    配置修正后先执行python manage.py check校验全量配置,无报错后再执行python manage.py runserver启动服务即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:00:03