Django 1.7仅在OpenShift上部署AppRegistryNotReady

时间:2015-03-25 23:23:28

标签: python django openshift django-1.7

我遇到了类似的问题(Django 1.7 upgrade error: AppRegistryNotReady: Models aren't loaded yet),但它只发生在我的OpenShift部署上。

我注意到它在管理模块上挂了,所以我对它进行了评论,但它只是转移到其他地方。

以下是我在OpenShift实例上遇到的错误:

Environment:

Request Method: GET
Request URL: http://my-app.rhcloud.com/

Django Version: 1.7.3
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.sites',
 'allauth',
 'allauth.account',
 'rest_framework',
 'main',
 'debug_toolbar')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware')


Traceback:
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  98.                 resolver_match = resolver.resolve(request.path_info)
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
  343.             for pattern in self.url_patterns:
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
  372.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
  366.             self._urlconf_module = import_module(self.urlconf_name)
File "/opt/rh/python27/root/usr/lib64/python2.7/importlib/__init__.py" in import_module
  37.     __import__(name)
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/app-root/runtime/repo/wsgi/myapp/myapp/urls.py" in <module>
  9.     url(r'^admin/', include(admin.site.urls)),
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/contrib/admin/sites.py" in urls
  262.         return self.get_urls(), self.app_name, self.name
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/contrib/admin/sites.py" in get_urls
  223.             self.check_dependencies()
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/contrib/admin/sites.py" in check_dependencies
  161.         if not apps.is_installed('django.contrib.admin'):
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/apps/registry.py" in is_installed
  231.         self.check_apps_ready()
File "/var/lib/openshift/xxxxxxxxxxxxxxxx/python/virtenv/lib/python2.7/site-packages/django/apps/registry.py" in check_apps_ready
  124.             raise AppRegistryNotReady("Apps aren't loaded yet.")

Exception Type: AppRegistryNotReady at /
Exception Value: Apps aren't loaded yet.

这是我的wigs.py文件内容:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")

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

为了测试wsgi.py,我在本地使用gunicorn来查看是否可以获得相同的结果但没有运气。我对此感到非常困惑,因为我在使用wsgi.py启动方法时会遇到同样的错误。有关如何调试此问题的想法,或者我是否应该在OpenShift上寻找可能触发此问题的内容?

谢谢, - RB

1 个答案:

答案 0 :(得分:1)

对OpenShift来说还是一个新手我发现了问题。

在OpenShift中,不使用标准的Django wsgi.py文件,并将其替换为wsgi / application python脚本。我有新的Django 1.7方式启动服务器在wsgi.py文件中正常工作,但没有在应用程序文件中更新它。这已得到纠正,现在项目正在按预期启动。