2015-12-06 14 views
45

Quando si è passati a django 1.9 dalla 1.8 ho ricevuto questo errore. Ho controllato le risposte per domande simili, ma non pensavo che questo fosse un problema con pacchetti o app di terze parti.Django aggiornamento a 1.9 errore "AppRegistryNotReady: le app non sono ancora state caricate."

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. 

Ho modificato le app installate per "django.contrib.auth".

+0

stai utilizzando un'app di terze parti? Condividi le tue impostazioni.py – utkbansal

+0

Sto utilizzando molte app di terze parti, ma credo che questo errore venga generato da "django/apps/registry.py" e non da altre app nei pacchetti del sito. –

+1

Ho affrontato un problema simile con forme django-crispy perché l'ibrary non supporta ancora 1.9. Quindi questa potrebbe essere un'app non supportata. – utkbansal

risposta

60

tenta di aggiungere queste righe all'inizio del file delle impostazioni:

import django 
django.setup() 

E se questo non vi aiuterà si tenta di rimuovere le applicazioni di terze parti dal tuo elenco di applicazioni installate one-by-one.

+1

L'ho provato, ma ho ricevuto questo errore "django.core.exceptions.ImproperlyConfigured: L'impostazione SECRET_KEY non deve essere vuota." Anche se ho SECRET_KEY nel file delle impostazioni. –

+9

Prova dichiarando l'SECRET_KEY ** ** PRIMA le linee citate, qualcosa di simile: SECRET_KEY = 'MY chiave segreta' importazione Django django.setup() ha funzionato per me .... ora con un altro errore: –

+0

Questa è un'ottima risposta alla domanda: "Come posso accedere agli oggetti del modello Django da uno script autonomo?" :-) Prima di eseguire il codice di cui sopra, dovrai eseguire: os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "your.settings"). – AdvilUser

17

Avrei una funzione personalizzata scritta su uno dei miei modelli __init__.py file. Stava causando l'errore. Quando ho spostato questa funzione da __init__.py ha funzionato.

+1

Lo stesso qui, spostandolo anche. – Brachamul

+0

Same .. Fixed ... –

3

Per me commentando

'grappelli.dashboard', 
'grappelli', 

in INSTALLED_APPS lavorato

+0

l'errore è da ''grappelli.dashboard' –

+0

Per me è stato solo che ho accidentalmente avuto '' one_third_pary_app, '' invece di '' one_third_pary_app ',' (notare la posizione del ' , ') – J0ANMM

0

Il mio problema era: django-reversione> = 1.8.7, < 1,9

per Django 1.9 .7 dovresti usare: django-reversion == 1.10.0

Sono stato aggiornato a django-cms dalla 3.2 alla 3.3 e l'ho trovato commentando le app, quindi riprendendo il commento.

Risposta corretta qui: https://stackoverflow.com/a/34040556/2837890

3

Questo errore si verifica quando si aggiunge un app in INSTALLED_APPS nel file settings.py ma non avere quel applicazione installata nel computer. Hai due soluzioni:

  1. installare quel applicazione utilizzando gestori di pacchetti come pip in ubuntu
  2. o commentare tale applicazione installata nel file settings.py

Questo errore può anche sorgere se si è non nel tuo ambiente virtuale che potresti aver creato per il tuo progetto.

0

Questo problema si verifica anche per impostazioni.py incoerenti per la scrittura errata di INSTALLED_APPS, verificare se le app sono state inserite correttamente e separate con ",".

0

Se i file setting.py di riempimento sono corretti, è possibile provare ad arrivare file manage.py procedere chiamare danjgo.setup() nel metodo principale. Quindi eseguire manage.py, infine eseguire nuovamente il progetto, il problema potrebbe scomparire.

-1

Nel modulo "admin" del pacchetto dell'app, registrare tutti i database creati nel modulo "models" del pacchetto.

Supponiamo di avere una classe base di dati di cui al modulo "modelli" come:

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

quindi è necessario registrare questo nel modulo admin come:

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

Spero che questo risolve l'errore.

0

Per me, il problema derivava dal fatto che mi è stato l'importazione di un applicazione in INSTALLED_APPS che a sua volta era l'importazione di un modello nel suo file __init__.py

ho avuto:

settings.py

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

from django.contrib.sites.models import Site 

commentando import models in myapp.__init__.py ha reso il lavoro:

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

in ritardo alla festa, ma Grappelli era il motivo per il mio errore come bene. Ho cercato la versione compatibile su pypi e l'ho risolto per me.

0

Quando cambio la versione di django in 1.9, non si verifica l'errore. pip uninstall django pip install django==1.9

0

ho messo il User importazione nel file settings per la gestione del token chiamata resto come questo

# 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', 
    ), 
} 

perché in quel momento, librerie Django non sono ancora pronti. Pertanto, ho inserito il import all'interno della funzione e ha iniziato a funzionare. La funzione deve essere chiamata dopo l'avvio del server

Problemi correlati