2014-10-09 14 views
58

Tôi đang cố nâng cấp một dự án từ Django 1.6 lên 1.7. Tôi nhận được lỗi sau:Lỗi nâng cấp Django 1.7: AppRegistryNotReady: Ứng dụng chưa được tải

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

Bất cứ ý tưởng gì có thể gây ra lỗi và làm thế nào để sửa chữa nó?

UPDATE1:

tôi thay thế:

from django.contrib.auth.models import User 

tới:

from django.conf import settings 
User = settings.AUTH_USER_MODEL 

Và tôi nhận được lỗi sau:

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

UPDATE 2:

tôi thay thế:

from django.contrib.auth.models import User 

tới:

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

và:

models.ForeignKey(settings.AUTH_USER_MODEL) 

Và tôi nhận được lỗi sau:

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

Trả lời

1

settings.AUTH_USER_MODEL là một chuỗi (đó là lý do tại sao bạn nhận được AttributeError: 'str' object has no attribute '_meta' - nó hy vọng một Model) và nên được sử dụng chỉ trên ForeignKey tờ khai:

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

Nếu bạn muốn tham khảo mô hình người dùng của bạn ở một nơi khác, bạn cần phải sử dụng get_user_model:

 
from django.contrib.auth import get_user_model 

UserModel = get_user_model() 
67

Tôi gặp sự cố tương tự (giống nhau?) Khi nâng cấp lên Django 1.7. Trong trường hợp có thể, đó là đủ để cập nhật các tập tin wsgi: thay thế

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

với

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

Làm tôi mất nhiều thời gian để vấp ngã. Tôi cũng nhận được {Không xử lý có thể được tìm thấy cho logger "django.request"} và điều này giải quyết vấn đề của tôi ngay lập tức. Cảm ơn!! – Logic1

+0

Tôi chỉ có sản phẩm này, với gunicorn. Làm việc giống như một nét duyên dáng bây giờ! – benzkji

+0

Cảm ơn! Giải quyết vấn đề mà tôi chỉ có thể chạy máy chủ thông qua: ./manage.py runserver, như trái ngược với chạy qua gunicorn sau khi Django 1,5-1,11 nâng cấp – SwCharlie

67
+2

Giải pháp 'get_wsgi_application()' không hoạt động vì ứng dụng của tôi đã được cấu hình như vậy. nhưng gọi 'django.setup()' đã giúp. – skynss

+0

Điều này làm việc cho tôi. Có lỗi ban đầu sau khi chuyển sang Django 1.9. – Frankline

+1

Bạn đặt chính xác vị trí này ở đâu? Tôi không có bất kỳ kịch bản độc lập nào mà tôi biết. – teewuane

5

trong tập tin cấu hình ứng dụng uwsgi (như uwsgi.ini) thay thế:

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

trên

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

tôi đang tìm kiếm thông qua tất cả các chủ đề để có được cần tây làm việc trên cửa sổ (với thông điệp lỗi này đặc biệt) và tôi chỉ muốn nhấn mạnh việc đưa

import django 
django.setup() 

ở đầu tệp tasks.py của bạn, điều này cuối cùng cũng giúp ích cho tôi.

1

Tôi gặp lỗi này khi chuyển sang một máy tính khác và quên cài đặt psycopg2 trong ven của mình và khi sử dụng 'ENGINE': 'django.db.backends.postgresql', trong cài đặt của mình.

Có lẽ nó có thể hữu ích cho người khác.

12

INSTALLED_APPS Đã có dấu phẩy bị thiếu trong mảng, đã gây ra lỗi cho tôi.

8

Tôi gặp lỗi này khi cố gắng nhập mô hình từ ứng dụng __init__.py của ứng dụng, điều này là không thể.

+2

Tại sao lại là downvote? – Mark

+0

Không chỉ các mô hình, bởi vì tôi đã cố nhập url và phải đối mặt với cùng một vấn đề –

-2

Chỉ cần cài đặt lại Django bằng cách sử dụng dòng lệnh, không phải trong Pycharm đã giúp tôi.

0

Trong trường hợp của tôi, tôi quên thêm một trong các ứng dụng con của tôi bên trong 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

Nó có thể là bất kỳ lý do gì. Trong trường hợp của tôi, tôi đã cập nhật phiên bản python của mình bên ngoài môi trường ảo của mình, nhưng virtualenv của tôi vẫn là phiên bản cũ, điều đó gây ra lỗi. Tôi đã xóa các env và xây dựng nó một lần nữa bằng cách sử dụng phiên bản mới hơn, và nó đã làm việc.

0

Trong trường hợp của tôi, lỗi xảy ra khi tôi nâng cấp cần tây lên 4.x và tôi đã có điều này trong INSTALLED_APPS: kombu.transport.django. Việc xóa đã giải quyết được sự cố. Dường như nó chủ yếu là do một số tải không chính xác của django chính nó.

Các vấn đề liên quan