2015-12-06 2 views
45

При обновлении до django 1.9 из 1.8 я получил эту ошибку. Я проверил ответы на подобные вопросы, но я не думал, что это проблема с любыми сторонними пакетами или приложениями.Обновление Django до 1,9 ошибки «AppRegistryNotReady: приложения еще не загружены».

Traceback (most recent call last): 
File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line 
utility.execute() 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 176, in fetch_command 
commands = get_commands() 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/utils/lru_cache.py", line 100, in wrapper 
result = user_function(*args, **kwds) 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 71, in get_commands 
for app_config in reversed(list(apps.get_app_configs())): 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/apps/registry.py", line 137, in get_app_configs 
self.check_apps_ready() 
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready 
raise AppRegistryNotReady("Apps aren't loaded yet.") 
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. 

Я модифицировал Установленные приложения для «django.contrib.auth».

+0

Вы используете стороннее приложение? Пожалуйста, поделитесь своими настройками.py – utkbansal

+0

Я использую много сторонних приложений, но я считаю, что эта ошибка возникает из «django/apps/registry.py», а не из других приложений в пакетах сайтов. –

+1

Я столкнулся с аналогичной проблемой с django-хрустящими формами, потому что библиотека еще не поддерживает 1.9. Таким образом, это может быть неподдерживаемое приложение. – utkbansal

ответ

60

Попробуйте добавить эти строки в верхней части файла настроек:

import django 
django.setup() 

А если это не поможет вам попытаться удалить сторонние приложения из вашего списка установленных приложений один-на-один.

+1

Я пробовал, но я получил эту ошибку «django.core.exceptions.ImproperlyConfigured: параметр SECRET_KEY не должен быть пустым». Хотя у меня есть файл SECRET_KEY в файле настроек. –

+9

Попробуйте объявить secret_key ** ДО ** указанных линий, что-то вроде: secret_key = 'MY SECRET KEY' импорта Джанго django.setup() он работал для меня .... теперь с другой ошибкой:) –

+0

Это отличный ответ на вопрос: «Как мне получить доступ к объектам модели Django из автономного скрипта?» :-) Прежде чем запускать код выше, вам нужно будет: os.environ.setdefault («DJANGO_SETTINGS_MODULE», «your.settings»). – AdvilUser

17

У меня была функция, написанная на одной из моих моделей __init__.py. Это вызвало ошибку. Когда я переместил эту функцию с __init__.py, она сработала.

+1

То же самое происходит и при его исправлении. – Brachamul

+0

То же самое .. Исправлено ... –

3

Для меня закомментировать

'grappelli.dashboard', 
'grappelli', 

в INSTALLED_APPS работал

+0

ошибка от ''grappelli.dashboard' –

+0

Для меня было просто, что я случайно имел' one_third_pary_app, ''вместо' one_third_pary_app', '(обратите внимание на позицию' , ') – J0ANMM

0

Моя проблема была: Джанго-реверсии> = 1.8.7, < 1,9

для Джанго 1.9 .7 вы должны использовать: django-reversion == 1.10.0

Я был обновлен django-cms от 3.2 до 3.3 и нашел его, комментируя приложения, а затем раскомментировав их.

Правильный ответ здесь: https://stackoverflow.com/a/34040556/2837890

3

Эта ошибка возникает, когда вы добавляете приложение в INSTALLED_APPS в settings.py файле, но вы не имеете, что приложение установлено на вашем компьютере. У вас есть два решения:

  1. Установить это приложение с помощью менеджеров пакетов, как ПУМЫ в убунту
  2. или комментарий, что установленные приложения в файле settings.py

Эта ошибка может также возникнуть, если вы а не в вашей виртуальной среде, которую вы, возможно, создали для своего проекта.

0

Эта проблема также наблюдается для несогласованных настроек.py для неправильной записи INSTALLED_APPS, проверьте, правильно ли вы включили приложения и разделили их «,».

0

Если ваши файлы settings.py заполнены правильно, вы можете попробовать получить файлы manage.py, чтобы продолжить вызов danjgo.setup() в основном методе. Затем запустите manage.py, и, наконец, снова запустите проект, проблема может исчезнуть.

-1

В модуле «admin» вашего пакета приложений зарегистрируйте все базы данных, созданные в модуле «модели» пакета.

Предположим, у вас есть класс базы данных, определенные в модуле «модели», как:

class myDb1(models.Model): 
    someField= models.Charfiled(max_length=100) 

так что вы должны зарегистрировать это в модуле администратора, как:

from .models import myDb1 
admin.site.register(myDb1) 

Я надеюсь, что это устранить ошибку.

0

Для меня, проблема возникла из-за того, что я импортирующей приложение в INSTALLED_APPS которая сама импортирующей модель в файле __init__.py

я имел:

settings.py

INSTALLED_APPS = [ 
    ... 
    'myapp', 
    ... 
] 

myapp.__init__.py

from django.contrib.sites.models import Site 

закомментировав import models в myapp.__init__.py сделал работу:

# from django.contrib.sites.models import Site 
0

Late к партии, но Grappelli была причина моей ошибки, а также. Я посмотрел на совместимую версию на pypi и исправил ее для меня.

0

Когда я меняю версию django на 1.9, это не вызывает ошибки. pip uninstall django pip install django==1.9

0

Я положил User импорт в файл settings для управления маркером отдыха вызова, как этот

# settings.py 
from django.contrib.auth.models import User 
def jwt_get_username_from_payload_handler(payload): 
    .... 

JWT_AUTH = { 
    'JWT_PAYLOAD_GET_USERNAME_HANDLER': jwt_get_username_from_payload_handler, 
    'JWT_PUBLIC_KEY': PUBLIC_KEY, 
    'JWT_ALGORITHM': 'RS256', 
    'JWT_AUDIENCE': API_IDENTIFIER, 
    'JWT_ISSUER': JWT_ISSUER, 
    'JWT_AUTH_HEADER_PREFIX': 'Bearer', 
} 
REST_FRAMEWORK = { 
    'DEFAULT_PERMISSION_CLASSES': (
     'rest_framework.permissions.IsAuthenticated', 
    ), 
    'DEFAULT_AUTHENTICATION_CLASSES': (
     'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 
    ), 
} 

Потому что в тот момент, Джанго ЛИЭС еще не готовы. Поэтому я положил import внутри функции и начал работать. Функция должна вызываться после запуска сервера.

Смежные вопросы