Je déplace une application qui utilise django_cms d'un serveur, où tout a fonctionné, à un autre et qui a passé les 4 dernières heures à essayer de trouver la cause de cette erreur. Une suggestion très bienvenue!django_cms ImproperlyConfigured: Erreur lors de l'importation de middleware cms.middleware.media
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"
La ligne incriminée est le dernier dans la liste middleware 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',
)
Si je retire la dernière ligne, puis le code continue et tombe plus tard en disant que l'article est nécessaire middleware .
J'utilise une version légèrement différente de django, 1.2.1 final sur l'ancien serveur de travail et 1.2.3 final sur le nouveau serveur.
Toutes les choses que j'ai essayé:
- La même version de django_cms - 2.1.0 beta 3 - qui a été utilisé sur l'ancien serveur
- La dernière version sur github - 2.1.0. beta2-550 Mettre les cms, MPTT, menus, dossiers d'éditeur dans le
- app de python importer le
- googlé (personne ayant le même problème que je peux trouver)
- fichier middleware directement (pas de problème)
résultat de l'ouverture en 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
>>>
Pouvez-vous donner un peu plus d'explications sur le problème et les solutions? –
Le problème était simplement qu'il ne pouvait pas trouver ce dont il avait besoin sur le chemin. Je pense que le vieux serveur était heureux sans trailing/mais ce serveur était plus pointilleux. Quoi qu'il en soit, l'ajout de la commande sys.path ci-dessus a résolu le problème. – PhoebeB
J'ai eu ce problème et cette solution n'a pas fonctionné pour moi. Cependant, inspiré par cette solution, j'ai également ajouté: 'sys.path.insert (0, '/the/path/to/myapp/lib/python2.6/site-packages/')' et cela a fonctionné - ou au moins passé à un nouvel ensemble de problèmes. –