J'essaie de mettre à niveau un projet de Django 1.6 à 1.7. Je reçois l'erreur suivante:
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] mod_wsgi (pid=14523): Exception occurred processing WSGI script '/home/users1/k/kisvadim/domains/mathtasks.org/Django.wsgi'.
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] Traceback (most recent call last):
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/wsgi.py", line 187, in __call__
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] response = self.get_response(request)
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/base.py", line 199, in get_response
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/base.py", line 239, in handle_uncaught_exception
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] if resolver.urlconf_module is None:
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/urlresolvers.py", line 361, in urlconf_module
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] self._urlconf_module = import_module(self.urlconf_name)
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] __import__(name)
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/mathtasks/urls.py", line 11, in <module>
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] admin.autodiscover()
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/contrib/admin/__init__.py", line 23, in autodiscover
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] autodiscover_modules('admin', register_to=site)
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/utils/module_loading.py", line 67, in autodiscover_modules
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] for app_config in apps.get_app_configs():
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/apps/registry.py", line 137, in get_app_configs
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] self.check_apps_ready()
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/apps/registry.py", line 124, in check_apps_ready
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] raise AppRegistryNotReady("Apps aren't loaded yet.")
[Thu Oct 09 14:16:41 2014] [error] [client 95.79.172.156] AppRegistryNotReady: Apps aren't loaded yet.
Django.wsgi:
import os, sys
import Django
virtual_env = os.path.expanduser('~/virtualenv/PythonEnv')
activate_this = os.path.join(virtual_env, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0, os.path.join(os.path.expanduser('~'), 'Django/mathtasks'))
os.environ['Django_SETTINGS_MODULE'] = 'mathtasks.settings'
Django.setup()
import Django.core.handlers.wsgi
application = Django.core.handlers.wsgi.WSGIHandler()
Des idées sur ce qui pourrait être à l'origine de l'erreur et comment y remédier?
UPDATE1:
J'ai remplacé:
from Django.contrib.auth.models import User
à:
from Django.conf import settings
User = settings.AUTH_USER_MODEL
Et j'obtiens l'erreur suivante:
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] mod_wsgi (pid=17128): Exception occurred processing WSGI script '/home/users1/k/kisvadim/domains/mathtasks.org/Django.wsgi'.
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] Traceback (most recent call last):
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/wsgi.py", line 187, in __call__
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] response = self.get_response(request)
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/base.py", line 199, in get_response
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/base.py", line 239, in handle_uncaught_exception
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] if resolver.urlconf_module is None:
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/urlresolvers.py", line 361, in urlconf_module
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] self._urlconf_module = import_module(self.urlconf_name)
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] __import__(name)
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/mathtasks/urls.py", line 6, in <module>
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] from utils.views import SniptRegistrationView
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/utils/views.py", line 1, in <module>
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] from registration.backends.default.views import RegistrationView
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/registration/backends/default/views.py", line 7, in <module>
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] from registration.views import ActivationView as BaseActivationView
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/registration/views.py", line 11, in <module>
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] from registration.forms import RegistrationForm
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/registration/forms.py", line 159, in <module>
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] class UserProfileForm(forms.ModelForm):
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/forms/models.py", line 284, in __new__
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] opts.help_texts, opts.error_messages)
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/forms/models.py", line 184, in fields_for_model
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] opts = model._meta
[Thu Oct 09 15:06:15 2014] [error] [client 95.79.172.156] AttributeError: 'str' object has no attribute '_meta'
MISE À JOUR 2:
J'ai remplacé:
from Django.contrib.auth.models import User
à:
from Django.contrib.auth import get_user_model
User = get_user_model()
et:
models.ForeignKey(settings.AUTH_USER_MODEL)
Et j'obtiens l'erreur suivante:
[Thu Oct 09 16:10:52 2014] [error] No handlers could be found for logger "Django.request"
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] mod_wsgi (pid=31421): Exception occurred processing WSGI script '/home/users1/k/kisvadim/domains/mathtasks.org/Django.wsgi'.
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] Traceback (most recent call last):
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/wsgi.py", line 187, in __call__
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] response = self.get_response(request)
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/base.py", line 199, in get_response
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/handlers/base.py", line 239, in handle_uncaught_exception
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] if resolver.urlconf_module is None:
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/core/urlresolvers.py", line 361, in urlconf_module
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] self._urlconf_module = import_module(self.urlconf_name)
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] __import__(name)
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/mathtasks/urls.py", line 6, in <module>
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] from utils.views import SniptRegistrationView
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/utils/views.py", line 1, in <module>
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] from registration.backends.default.views import RegistrationView
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/registration/backends/default/views.py", line 6, in <module>
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] from registration.models import RegistrationProfile
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/Django/mathtasks/registration/models.py", line 9, in <module>
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] User = get_user_model()
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/contrib/auth/__init__.py", line 136, in get_user_model
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] return Django_apps.get_model(settings.AUTH_USER_MODEL)
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/apps/registry.py", line 199, in get_model
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] self.check_models_ready()
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] File "/home/users1/k/kisvadim/virtualenv/PythonEnv/lib/python2.7/site-packages/Django/apps/registry.py", line 131, in check_models_ready
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] raise AppRegistryNotReady("Models aren't loaded yet.")
[Thu Oct 09 16:10:52 2014] [error] [client 95.79.172.156] AppRegistryNotReady: Models aren't loaded yet.
voir http://Django.readthedocs.org/fr/latest/releases/1.7.html#standalone-scripts
import Django
django.setup()
J'ai eu un problème similaire (le même?) Lors de la mise à niveau vers Django 1.7. Dans certains cas, il suffisait de mettre à jour le fichier wsgi: replace
import Django.core.handlers.wsgi
application = Django.core.handlers.wsgi.WSGIHandler()
avec
from Django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Je regardais à travers tous ces fils pour que le céleri fonctionne sur les fenêtres (avec ce message d'erreur particulier) et je veux juste souligner le fait de mettre
import Django
django.setup()
au sommet de votre fichier tasks.py, c’est finalement ce qui me permet de le faire fonctionner.
INSTALLED_APPS
Avait une virgule manquante dans le tableau, qui a causé l'erreur pour moi.
J'ai eu cette erreur lorsque j'ai essayé d'importer des modèles à partir de __init__.py
de l'application, ce qui n'est pas possible.
Dans la configuration, le fichier d’application uwsgi (comme uwsgi.ini) remplace:
module = Django.core.handlers.wsgi:WSGIHandler()
sur
module=Django.core.wsgi:get_wsgi_application()
settings.AUTH_USER_MODEL
est une chaîne (c’est pourquoi vous obtenez AttributeError: 'str' object has no attribute '_meta'
- il attend un modèle) et ne doit être utilisé que dans les déclarations ForeignKey
:
classe Article (modèles.Modèle): author = models.ForeignKey (settings.AUTH_USER_MODEL)
Si vous souhaitez faire référence à votre modèle d'utilisateur ailleurs, vous devez utiliser get_user_model
:
depuis Django.contrib.auth import get_user_model UserModel = get_user_model ()
J'ai eu cette erreur en passant à un autre PC et en oubliant d'installer psycopg2
dans mon ordinateur et en utilisant 'ENGINE': 'Django.db.backends.postgresql',
dans mes paramètres.
Peut-être que cela peut être utile à quelqu'un d'autre.
Dans mon cas, j'ai oublié d'ajouter l'une de mes sous-applications dans INSTALLED_APPS
.
INSTALLED_APPS = [
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
'basketball',
'basketball.area',
'basketball.game',
'basketball.player',
]
Dans mon cas, l'erreur a été provoquée lorsque j'ai mis à niveau le céleri à la version 4.x et que cela se trouvait dans INSTALLED_APPS: kombu.transport.Django
. Supprimer cela a résolu le problème. Il semble que cela soit principalement dû à un chargement incorrect de Django lui-même.
Dans mon cas, SEcret_key a été commenté par erreur dans settings.py