django.de base.des exceptions.AppRegistryNotReady: les Applications ne sont pas encore chargés. (django 2.0.1)(Python 3.6)
C'est ma première fois d'essayer de déployer un Django app(django 2.0.1)(Python 3.6) à pythonanywhere, c'est un simple portefeuille soft avec pas de modèles, pas de bootstrap.
Juste Django, HTML, CSS & Javascript.
Après le tirant par le dépôt Github sur pythnanywhere avec leur bash de la console, je lance :
python manage.py migrate
& a été frappé avec cette erreur :
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 371, in
execute_from_command_line
utility.execute()
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 216, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 36, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/commands/migrate.py", line 12, in <module>
from django.db.migrations.autodetector import MigrationAutodetector
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/db/migrations/autodetector.py", line 11, in <module>
from django.db.migrations.questioner import MigrationQuestioner
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/db/migrations/questioner.py", line 9, in <module>
from .loader import MigrationLoader
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-packages/django/db/migrations/loader.py", line 8, in <module>
from django.db.migrations.recorder import MigrationRecorder
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 9, in <module>
class MigrationRecorder:
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 22, in MigrationRecorder
class Migration(models.Model):
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-packages/django/db/models/base.py", line 100, in __new__
app_config = apps.get_containing_app_config(module)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-packages/django/apps/registry.py", line 244, in get_containing_app_config
self.check_apps_ready()
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-packages/django/apps/registry.py", line 127, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Je fatigué à la recherche de solutions partout où je pourrais peut-être trouver mais rien n'aide vraiment, j'ai même essayé d'ajouter cette ligne à mon settings.py :
import django
django.setup()
au-dessous de cette ligne :
SECRET_KEY = os.environ.get("SECRET_KEY")
comme suggéré de ce post, mais en vain.
Voici mon settings.py :
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_DIR = os.path.join(BASE_DIR, "templates")
STATIC_DIR = os.path.join(BASE_DIR, "static")
SECRET_KEY = os.environ.get('SECRET_KEY')
import django
django.setup()
DEBUG = False
ALLOWED_HOSTS = ["limerin555.pythonanywhere.com"]
INSTALLED_APPS = [
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'portfolio_showcase',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'limerin.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TEMPLATE_DIR,],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'limerin.wsgi.application'
DATABASE_PATH = os.path.join(BASE_DIR, 'db.sqlite3')
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': DATABASE_PATH,
}
}
AUTH_PASSWORD_VALIDATORS = [
{
'NAME':
'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Singapore'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
STATICFILES_DIRS = [
STATIC_DIR,
]
Je suis vraiment perdu sur ce, en espérant que quelqu'un peut m'éclairer sur ce qu'est le vrai problème ici.
portfolio_showcase
application ou l'url de la racine de config qui est à l'origine du problème. N'ajoutez pas de django.setup()
de paramètres.J'ai eu le même problème, mon problème est un unset variable d'environnement - utilisation de postgresql avec django-environ et DATABASE_URL n'était pas défini - cadre qui fixe pour moi.
J'ai vu cette erreur dans le passé. Autant que je me souvienne il avait à faire avec un fichier de migration, qui dépendaient de la migration d'un 3ème partie du module. Je n'avais pas défini de la migration correctement les dépendances.
OriginalL'auteur Limerin555 | 2018-01-09
Vous devez vous connecter pour publier un commentaire.
S'il vous plaît exécuter case django-admin de commande pour voir si il ont détecté aucune erreur.
et/ou
SECRET_KEY
env variableTrès peu serviable message pour un inexistante clé secrète
Que devrions-nous faire si python manage.py vérifier fonctionne OK, mais django-admin vérifier se plaint d'une constante n'est pas définie, dire USE_I18N?
OriginalL'auteur Janusz Skonieczny
Surmonté une situation similaire à peine maintenant.
Tous vous avez vraiment besoin est: est-ce
Et puis ces lignes:
Après que vous pouvez facilement importer des modèles sans
AppRegistryNotReady: Apps aren't loaded yet.
Mise à JOUR: C'est vraiment exactement les 4 lignes de code à partir de wsgi.py fichier dans votre dossier.
projectname/projectname/__init__.py
afin qu'ils obtiennent toujours exécuté avant que quoi que ce soit dans mes applications.OriginalL'auteur Alexey Trofimov
Le Django docs dire que django.le programme d'installation charge les paramètres de settings.py son premier acte, de sorte qu'il semble être une mauvaise idée de l'exécuter dans settings.py.
Essayer de commenter les applications dans INSTALLED_APPS un à un - vous trouverez probablement que l'un d'eux ne se charge pas pour une raison quelconque. Une fois que vous savez qui il est, vous pouvez travailler sur ce qui est mal avec elle.
OriginalL'auteur Glenn
Il pourrait y avoir plusieurs raisons pour cette erreur, mais elles sont toutes liées à
project/settings.py
fichier.SECRET_KEY
.INSTALLED_APPS
et n'est pas installé.OriginalL'auteur Rohit Sehgal
Il m'a fallu un moment pour comprendre que chaque fois que vous exécutez
manage.py somecommand
, vous devez fournir les mêmes paramètres /variables d'environnement que vous avez besoin lorsque vous exécutez./manage.py runserver
.Par exemple, je charge SECRET_KEY à partir d'une variable d'environnement dans un fichier appelé
.env
. J'ai donc besoin de le faire afin de réaliser et d'exécuter les migrations:OriginalL'auteur Little Brain