django_cms ImproperlyConfigured:导入中间件 cms.middleware.media 时出错

2024-01-10

我正在将一个使用 django_cms 的应用程序从一台一切正常的服务器移动到另一台服务器,并在过去 4 小时内尝试查找此错误的原因。非常欢迎提出建议!

 mod_wsgi (pid=21972): Exception occurred within WSGI script '/var/www/vhosts/compdoctest.com/django/compdoc/django.wsgi'.
 Traceback (most recent call last):
   File "/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 230, in __call__
     self.load_middleware()
   File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 42, in load_middleware
     raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
 ImproperlyConfigured: Error importing middleware cms.middleware.media: "No module named media"

有问题的行是 settings.py 中中间件列表中的最后一行

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'cms.middleware.page.CurrentPageMiddleware',
    'cms.middleware.user.CurrentUserMiddleware',
    'cms.middleware.multilingual.MultilingualURLMiddleware',
    'cms.middleware.media.PlaceholderMediaMiddleware',
    )

如果我删除最后一行,那么代码会继续,并在稍后提示该项目是中间件中必需的。

我使用的 django 版本略有不同,旧工作服务器上使用 1.2.1 Final,新服务器上使用 1.2.3 Final。

我尝试过的所有事情:

  • 与旧服务器上使用的 django_cms 版本相同 - 2.1.0 beta 3
  • github上的最新版本 - 2.1.0.beta2-550 将cms、mptt、menus、publisher文件夹放在
  • app 从 python 导入
  • 谷歌搜索(没有人遇到与我相同的问题)
  • 直接中间件文件(没问题)

python打开结果:

python manage.py shell        
Python 2.5.2 (r252:60911, Jan 20 2010, 23:14:04) 
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import cms.middleware.media
>>> cms.middleware.media.__file__
'/var/www/vhosts/compdoctest.com/django/compdoc/cms/middleware/media.pyc'
>>> from django.forms.widgets import Media
>>> import cms.middleware.media
>>> 

感谢我的朋友 Bartosz Ptaszynski 在这方面为我指明了正确的方向。这是一个路径问题。将其添加到 settings.py 文件的顶部,一切都神奇地开始工作。

sys.path.insert(0, '/path_to_app/app/')

正如他指出的:

WSGI 脚本中发生异常意味着在 Web 服务器下运行时的路径错误,它是与 manage.py shell 完全不同的环境

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django_cms ImproperlyConfigured:导入中间件 cms.middleware.media 时出错 的相关文章

随机推荐

  • 将值替换为在 unix shell 中对值调用函数的结果

    我有一个如下所示的文本流 s123456789 9780 heartbeat test 1344280205000000 0 heartbeat test 1344272490000000 0 这些长数字是以微秒为单位的时间戳 我想通过某种
  • 如何在ctypes python中传递char指针作为参数

    请帮助我将以下 c 代码行转换为 ctypes python Ret openFcn Handle C Config xml 以下是各自的声明 typedef uint16 t OpenDLLFcnP void const char Ope
  • 如何从 ASPX 控件事件调用 Javascript 函数?

    如何从 ASPX 控件事件调用 Javascript 函数 具体来说 我想从 DropDownList 的 SelectedIndexChanged 事件中调用该函数 每当我看到这种问题时 我都会有点紧张 因为十有八九这意味着提问者并不真正
  • 前景窗口与活动窗口

    在Windows中 前台窗口和活动窗口有什么区别 具体来说 什么情况下前台窗口不能是活动窗口 如果这两个术语指的是同一概念 那么为什么有两个术语 The msdn documentation here mentions clicking a
  • 在 Rails 3 中生成 RSS feed

    我正在寻找在 Rails 3 中生成提要的最佳实践 标准模式 是http railscasts com episodes 87 generate rss feeds http railscasts com episodes 87 gener
  • Angular 1.5 中的组件通信

    Angular 1 5 组件通信建议通常具有输出绑定来调用根控制器上的方法 假设我有一个根组件和两个子组件
  • 默认命名空间是什么

    C 中的默认命名空间是什么 include
  • 使用 cron 发送电子邮件并包含来自 Moodle 的电子邮件附件

    我只想向已完成特定课程的用户发送电子邮件 并添加 pdf 文件 完成课程的证书 作为电子邮件的附件 并使用 Moodle cron 在特定时间执行此操作 我查看了一些插件来了解它是如何完成的 但我仍然不确定我到底应该如何做到这一点 I ne
  • ServerSocket + 客户端套接字 - 如何获取客户端的 IP 地址?

    我有一个正在侦听连接的 ServerSocket 实例 当客户端连接到它时 我想获取所连接套接字的IP 但似乎找不到正确的方法 public void start listenSocket new ServerSocket port con
  • .net中如何将一个流的内容写入另一个流?

    我经常遇到这样的问题 我有一个充满数据的流 并且想将其所有内容写入另一个流 所有代码示例都使用字节数组形式的缓冲区 有更优雅的方法吗 如果不是 缓冲区的理想大小是多少 哪些因素构成了这个值 在 NET 4 0中我们终于得到了Stream C
  • Mac VoiceOver 会读取列表项目两次

    这是我的html ul li Hello li li World li ul 我在 Mac OS X 10 11 5 上使用 VoiceOver 当我浏览此页面时VO A 我听到以下内容 HTML 内容 列出两项 子弹 你好 小组 Hell
  • java.lang.NoSuchMethodError:android.app.Notification$Builder.build

    我刚刚在我的应用程序的通知栏中添加了通知图标 该应用程序支持 Android gt 11 并且开始抛出以下错误 java lang NoSuchMethodError android app Notification Builder bui
  • 海洛库:!您无权访问应用程序 heroku

    我最初有一个应用程序 设置了默认名称 heroku 不过我想改变这一点 所以我有两个应用程序 一个是登台应用程序 一个是生产应用程序 遵循 Heroku 指南here https devcenter heroku com articles
  • flex 不能对一个 div 使用两个对齐方式

    我需要一个卡片列表布局 为此我使用 Flex 在大型设备中一切正常但是当设备变小并且两张牌不能相邻并且转到下一行 我的内容这不是中心 换句话说 我需要center我的内容在所有设备尺寸以及两张卡放在一起时应该是和中心之间的空间 contai
  • 为什么 fseek 使用 read() 系统调用?

    我试图理解 glibc 的实现fseek 为此 我下载了 glibc 源代码并尝试了解其函数执行顺序 我找到了fseek实施于libio fseek c 基本上 它调用函数 或者更确切地说是宏 IO fseek 使用相同的参数 该宏的实现是
  • 将字符串拆分为多行

    我编写了一个连接到 Oracle 数据库以选择特定表中的多个条目的脚本 该声明如下所示 rs open SELECT PATH301 FROM NC301B WHERE EDIPROC like P30 AND LF301M gt 0 AN
  • 如何在.net core应用程序中使用OData?

    根据文档 http odata github io WebApi 11 01 OData V4 Web API 脚手架 http odata github io WebApi 11 01 OData V4 Web API Scaffoldi
  • 记录时使用同步

    在我的应用程序中 我使用 Java Util Logging 编写了自己的日志记录实用程序 import java io IOException import java io InputStream import java util Pro
  • 使用PyInstaller编译python程序后如何输入参数

    After import sys I use sys argv获取输入参数 但是当我用PyInstaller编译我的程序后 exe程序将不接受我的输入 相反 它使用我为程序设置的默认值 如果我运行它python this script py
  • django_cms ImproperlyConfigured:导入中间件 cms.middleware.media 时出错

    我正在将一个使用 django cms 的应用程序从一台一切正常的服务器移动到另一台服务器 并在过去 4 小时内尝试查找此错误的原因 非常欢迎提出建议 mod wsgi pid 21972 Exception occurred within