Lors de la mise à niveau vers django 1.9 à partir de la 1.8, j'ai eu cette erreur. J'ai vérifié les réponses à des questions similaires, mais je ne pensais pas qu'il s'agissait d'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».
Réponses:
Essayez d'ajouter ces lignes en haut de votre fichier de paramètres:
import django django.setup()
Et si cela ne vous aide pas, essayez de supprimer les applications tierces de votre liste d'applications installées une par une.
la source
django.setup()
est destiné à être utilisé dans des scripts autonomes. Vous ne devriez pas le mettre dans les paramètresJ'aurais une fonction personnalisée écrite sur l'un de mes
__init__.py
fichiers de modèles . Cela causait l'erreur. Lorsque j'ai déplacé cette fonction,__init__.py
cela fonctionnait.la source
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 se trouve dans le dossier racine du projet.
la source
Dans mon cas, l'erreur s'est produite lorsque j'ai fait
python manage.py makemigrations
surDjango 2.0.6
.La solution était d'exécuter
python manage.py runserver
et de voir l'erreur réelle (qui n'était qu'une variable d'environnement manquante).la source
Cette erreur peut se produire lorsque vous ajoutez une application dans
INSTALLED_APPS
lesettings.py
fichier mais que cette application n'est pas installée sur votre ordinateur. Vous avez deux solutions:Install
cette application utilisant des gestionnaires de packages commepip
dans ubuntusettings.py
fichierCette erreur peut également survenir si vous n'êtes pas dans votre
virtual environment
que vous avez peut-être créé pour votre projet.la source
Essayez de supprimer l'intégralité de
settings.LOGGING
dictConfig et redémarrez le serveur. Si cela fonctionne, réécrivez le paramètre conformément à la documentation v1.9.https://docs.djangoproject.com/en/1.9/topics/logging/#examples
la source
/var/log
absence de chemin de fichier journal qui a donné cette erreurPour moi, le problème venait du fait que j'importais une application dans
INSTALLED_APPS
laquelle importait elle-même un modèle dans son__init__.py
fichierJ'avais :
settings.py
INSTALLED_APPS = [ ... 'myapp', ... ]
myapp.__init__.py
from django.contrib.sites.models import Site
commenter
import models
enmyapp.__init__.py
fait fonctionner:# from django.contrib.sites.models import Site
la source
django.setup () en haut ne fonctionnera pas pendant que 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()
la source
import django
etdjango.setup()
. Le problème a été résolu.Pour moi commenter
'grappelli.dashboard', 'grappelli',
dans INSTALLED_APPS travaillé
la source
'one_third_pary_app,'
au lieu de'one_third_pary_app',
(notez la position du,
)J'obtiens cette erreur lorsque j'essaye d'exécuter
test.py
(pas de scripts complets, je ne veux pas utiliserpython manage.py test
)et la méthode suivante fonctionne pour moi.
import os import django if 'env setting': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'YourRoot.settings') django.setup() from django.test import TestCase ... class SomeTest(TestCase): def test_one(self): # <-- Now, I can run this function by PyCharm ... def test_two(self): ...
la source
Mon problème était: django-reversion> = 1.8.7, <1.9
pour django 1.9.7 vous devriez utiliser: django-reversion == 1.10.0
J'ai été mis à jour django-cms 3.2 vers 3.3, et je l'ai trouvé en commentant les applications, puis en décommentant.
Bonne réponse ici: https://stackoverflow.com/a/34040556/2837890
la source
Ce problème est également observé pour les paramètres incohérents.py pour une écriture incorrecte de INSTALLED_APPS, vérifiez si vous avez correctement inclus les applications et séparées par ",".
la source
Quand je change ma version de django en 1.9, il ne se produit pas l'erreur.
pip uninstall django pip install django==1.9
la source
J'ai mis l'
User
importation dans lesettings
fichier pour gérer le jeton d'appel reste comme celui-ci# 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-là, les bibliothèques Django ne sont pas encore prêtes. Par conséquent, j'ai mis la
import
fonction à l' intérieur et cela a commencé à fonctionner. La fonction doit être appelée après le démarrage du serveurla source
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 vous suggère donc de vérifier vos paramètres, en particulier ceux liés à .env
la source
Comme d'autres l'ont dit, cela peut être dû au fait que vous n'avez pas installé une application répertoriée dans
INSTALLED_APPS
.Dans mon cas, j'ai
manage.py
tenté de consigner l'exception, ce qui a conduit à une tentative de rendu qui a échoué car l'application n'est pas encore initialisée. En commentant laexcept
clause dansmanage.py
l'exception a été affichée sans rendu spécial, évitant ainsi l'erreur déroutante.# 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
la source
J'ai essayé des tonnes de choses, mais seule la rétrogradation de Django vers la version 1.8.18 a résolu ce problème pour moi:
pip install django==1.8.18
C'est l'une des applications installées qui échoue, mais je n'ai pas pu trouver laquelle.
la source
J'obtiens cette erreur lorsque j'essaye de courir:
j'ai essayé tellement de choses et j'ai réalisé que j'avais ajouté des références à "settings.py" - "INSTALLED_APPS"
Assurez-vous simplement que ce que vous écrivez est correct. Mon erreur était ".model". au lieu de ".app."
Correction de cette erreur et ça marche maintenant.
la source
Tard à la fête, mais grappelli était aussi la raison de mon erreur. J'ai recherché la version compatible sur pypi et cela m'a corrigé.
la source
Essayez d'activer l'environnement virtuel. Dans mon cas, en utilisant l'outil de ligne de commande git:
Résout mon problème.
la source
Vous avez 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 n'ait chargé la classe de modèle a causé l'erreur pour moi.la source
Question
défini dans le models.py de cette AppConfig?Si votre remplissage de fichiers setting.py est correct, vous pouvez essayer d'arriver aux fichiers manage.py, appelez danjgo.setup () dans la méthode principale. Ensuite, exécutez manage.py, enfin exécutez à nouveau le projet, le problème pourrait disparaître.
la source
Dans le module "admin" de votre package d'application, enregistrez toutes les bases de données créées dans le module "models" du package.
Supposons que vous ayez une classe de base de données définie dans le module "models" comme:
class myDb1(models.Model): someField= models.Charfiled(max_length=100)
vous devez donc l'enregistrer dans le module d'administration en tant que:
from .models import myDb1 admin.site.register(myDb1)
J'espère que cela résoudra l'erreur.
la source