2014-10-09 78 views
58

我试图将项目从Django的1.6升级到1.7。我得到以下错误:的Django 1.7升级错误:AppRegistryNotReady:应用都尚未加载

[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() 

任何想法可能会导致错误,以及如何解决它?

UPDATE1:

我代替:

from django.contrib.auth.models import User 

到:

from django.conf import settings 
User = settings.AUTH_USER_MODEL 

而且我得到以下错误:

[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' 

更新2:

我代替:

from django.contrib.auth.models import User 

到:

from django.contrib.auth import get_user_model 
User = get_user_model() 

和:

models.ForeignKey(settings.AUTH_USER_MODEL) 

而且我得到以下错误:

[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. 

回答

1

settings.AUTH_USER_MODEL是一个字符串(这就是为什么你AttributeError: 'str' object has no attribute '_meta' - 它需要一个模型),并应在ForeignKey声明仅用于:如果你要引用您的用户模型别的地方,你需要使用get_user_model

 
class Article(models.Model): 
    author = models.ForeignKey(settings.AUTH_USER_MODEL) 

 
from django.contrib.auth import get_user_model 

UserModel = get_user_model() 
67

升级到Django 1.7时,我有类似的(相同的?)isssue。在5月的情况下,这已经足够了更新WSGI文件:与

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 
+2

花了我数小时才偶然发现。我也越来越{记录器“django.request”}找不到处理程序,这立即解决了我的问题。谢谢!! – Logic1 2015-01-19 02:20:55

+0

我只有在制作时才会用到gunicorn。现在就像魅力一样工作! – benzkji 2017-05-08 09:40:48

+0

谢谢!解决的问题,我只能通过运行服务器:./manage.py runserver,而不是在Django 1.5升级到1.11后通过gunicorn运行。 – SwCharlie 2018-03-10 12:16:24

67
+2

'get_wsgi_application()'解决方案没有工作,因为我的应用程序已经配置好了。但调用'django.setup()'有帮助。 – skynss 2015-06-05 06:03:24

+0

这解决了我的问题。迁移到Django 1.9后出现最初的错误。 – Frankline 2016-02-08 15:12:35

+1

你究竟把这个放在哪里?我没有任何我知道的独立脚本。 – teewuane 2016-06-14 17:49:39

5

在配置uwsgi应用程序文件(如更换uwsgi

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

。INI)取代:

module = django.core.handlers.wsgi:WSGIHandler() 

module=django.core.wsgi:get_wsgi_application() 
14

我一直在寻找通过所有这些线程获得芹菜Windows系统,(与此特定错误消息),我只是想强调把

import django 
django.setup() 

位于您的tasks.py文件的顶部,这终究是它为我工作的原因。

1

我搬到另一台电脑时忘了在我的设备中安装psycopg2并在我的设置中使用'ENGINE': 'django.db.backends.postgresql',时出现此错误。

也许它可能对别人有用。

12

INSTALLED_APPS在数组中缺少一个逗号,导致我的错误。

8

我试图从应用程序的__init__.py导入模型时出现此错误,这是不可能的。

+2

为什么downvote? – Mark 2016-07-24 13:02:56

+0

不只是模型,因为我试图导入网址并面临同样的问题 – 2017-05-09 10:47:53

-2

只需使用命令行重新安装Django,而不是在Pycharm帮助我。

0

在我的情况下,我忘了在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', 
] 
-2

可能是任何原因。就我而言,我在我的虚拟环境之外更新了我的python版本,但是我的virtualenv仍然是旧版本,导致了错误。我删除了env并使用更新的版本再次构建它,并且它工作正常。

0

在我的情况下,错误是由于我将芹菜升级到4.x而引起的,我在INSTALLED_APPS中有这个:kombu.transport.django。删除可以解决问题。似乎它主要是由Django本身的一些不正确的加载引起的。

相关问题