Lors de la mise à niveau vers Django 1.9 à partir de 1.8, j'ai eu cette erreur. J'ai vérifié les réponses aux questions similaires, mais je ne pensais pas que c'était un problème avec les packages ou applications tiers.
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.
J'avais modifié les applications installées pour 'Django.contrib.auth'.
Je voudrais une fonction personnalisée écrite sur l'un de mes modèles fichier __init__.py
. Cela causait l'erreur. Quand j'ai déplacé cette fonction de __init__.py
cela a fonctionné.
Essayez d’ajouter ces lignes en haut de votre fichier de paramètres:
import Django
django.setup()
Et si cela ne vous aide pas à essayer de supprimer les applications tierces de la liste des applications installées une par une.
Cette erreur se produit lorsque vous ajoutez une application dans INSTALLED_APPS dans le fichier settings.py mais que cette application n'est pas installée sur votre ordinateur. Vous avez deux solutions:
Cette erreur peut également survenir si vous ne vous trouvez pas dans votre environnement virtuel que vous avez créé pour votre projet.
Dans mon cas, l'erreur s'est produite lorsque j'ai créé python manage.py makemigrations
sur Django 2.0.6
.
La solution consistait à exécuter python manage.py runserver
et à voir l'erreur réelle (qui était simplement une variable d'environnement manquante).
Essayez de supprimer tout le settings.LOGGING
dictConfig et de redémarrer le serveur. Si cela fonctionne, réécrivez le paramètre conformément à la documentation v1.9.
https://docs.djangoproject.com/fr/1.9/topics/logging/#examples
Pour moi, le problème venait du fait que j'importais une application dans INSTALLED_APPS
qui importait elle-même un modèle dans son fichier __init__.py
.
J'ai eu :
settings.py
INSTALLED_APPS = [
...
'myapp',
...
]
myapp.__init__.py
from Django.contrib.sites.models import Site
commenter import models
dans myapp.__init__.py
l'a fait fonctionner:
# from Django.contrib.sites.models import Site
Pour moi commenter
'grappelli.dashboard',
'grappelli',
dans INSTALLED_APPS travaillé
Mon problème était que j'ai essayé d'importer un modèle Django avant d'appeler Django.setup()
Cela a fonctionné pour moi:
import Django
django.setup()
from myapp.models import MyModel
Le script ci-dessus est dans le dossier racine du projet.
Quand je change ma version de Django en 1.9, l'erreur ne se produit pas .
pip uninstall Django
pip install Django==1.9
Mon problème était: Django-reversion> = 1.8.7, <1.9
pour Django 1.9.7, vous devez utiliser: Django-reversion == 1.10.0
J'ai été mis à niveau de Django-cms 3.2 à 3.3 et je l’ai trouvé en commentant les applications, puis en le remettant en commentaire.
Réponse correcte ici: https://stackoverflow.com/a/34040556/2837890
Django.setup () dans la partie supérieure ne fonctionnera pas si vous exécutez un script explicitement. Mon problème a été résolu lorsque j'ai ajouté ceci au bas du fichier de paramètres.
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
import sys
if BASE_DIR not in sys.path:
sys.path.append(BASE_DIR)
os.environ['Django_SETTINGS_MODULE'] = "igp_lrpe.settings"
os.environ.setdefault("Django_SETTINGS_MODULE", "igp_lrpe.settings")
import Django
django.setup()
Vous avez obtenu cette erreur en essayant d'accéder aux objets de modèle dans apps.py
:
class QuizConfig(AppConfig):
name = 'quiz'
def ready(self):
print('===============> Django just started....')
questions_by_category = Question.objects.filter(category=2) # <=== Guilty line of code.
Essayer d'accéder à Question
avant que l'application ait chargé la classe de modèle a provoqué l'erreur pour moi.
Dans mon cas, l'un de mes paramètres, 'CORS_Origin_WHITELIST' a été défini dans le fichier settings.py mais n'était pas disponible dans mon fichier .env. Je vais donc vous suggérer de vérifier vos paramètres, en particulier ceux liés à .env
J'ai essayé des tas de choses, mais ce n'est qu'en abaissant Django à la version 1.8.18 que ce problème a été résolu:
pip install Django==1.8.18
C'est l'une des applications installées qui échoue, mais je ne pouvais pas trouver laquelle.
Ce problème est également observé pour incohérent settings.py dans écriture incorrecte de INSTALLED_APPS, vérifiez si vous avez correctement inclus les applications et séparé avec ",".
En retard pour la fête, mais grappelli était la raison de mon erreur aussi. J'ai regardé la version compatible sur Pypi et cela a été corrigé.
Essayez d'activer l'environnement virtuel . Dans mon cas, utilisez l'outil de ligne de commande git:
source scripts/activate
Résout mon problème.
Je mets l'importation User
dans le fichier settings
pour gérer le jeton d'appel restant comme ceci
# 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',
),
}
Parce qu'à ce moment, les bibliothèques Django ne sont pas encore prêtes. Par conséquent, je mets la import
à l'intérieur de la fonction et cela a commencé à fonctionner. La fonction doit être appelée après le démarrage du serveur.
Comme d'autres l'ont déjà dit, cela peut être dû au fait que vous n'avez pas installé une application répertoriée dans INSTALLED_APPS
.
Dans mon cas, manage.py
tentait de consigner l'exception, ce qui a entraîné une tentative de restitution, qui a échoué car l'application n'était pas encore initialisée. Par En commentant la clause except
dans manage.py
, l’exception s’affiche sans rendu spécial, ce qui évite l’erreur confuse.
# Temporarily commenting out the log statement.
#try:
execute_from_command_line(sys.argv)
#except Exception as e:
# log.error('Admin Command Error: %s', ' '.join(sys.argv), exc_info=sys.exc_info())
# raise e