python django python-3.x pythonanywhere django-2.0

django.core.exceptions.AppRegistryNotReady: Las aplicaciones no están cargadas todavía.(Django 2.0.1)(Python 3.6)



python-3.x pythonanywhere (5)

Ejecute el comando check django-admin para ver si ha detectado algún error.

python manage.py check

y / o

django-admin check

Es la primera vez que intento implementar una aplicación Django (django 2.0.1) (Python 3.6) en pythonanywhere, es una aplicación de portafolio simple sin modelos, sin bootstrap. Solo Django, HTML, CSS y Javascript.

Después de sacarlo del repositorio de Github en pythnanywhere con su consola bash, corro:

python manage.py migrate

& fue golpeado con este error:

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.

Me cansé de buscar soluciones en cualquier lugar que pudiera encontrar, pero nada realmente ayuda, incluso he intentado agregar esta línea a mi configuración.py:

import django django.setup()

debajo de esta línea:

SECRET_KEY = os.environ.get("SECRET_KEY")

Como se sugiere en este post , pero en vano.

Aquí está mi 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, ]

Estoy realmente perdido en esto, con la esperanza de que alguien pueda ayudarnos a aclarar cuál es el verdadero problema aquí.


Los documentos de Django dicen que django.setup carga la configuración de settings.py como su primer acto, por lo que parece una mala idea ejecutarlo en settings.py.

Intente comentar las aplicaciones en INSTALLED_APPS una por una; probablemente encontrará que una de ellas no se está cargando por algún motivo. Una vez que sepa cuál es, puede averiguar qué es lo que está mal.


Me tomó un tiempo entender que cada vez que ejecuta manage.py somecommand , debe proporcionar las mismas configuraciones / variables de entorno que necesita cuando ejecuta ./manage.py runserver .

Por ejemplo, cargo SECRET_KEY desde una variable de entorno en un archivo llamado .env . Así que necesito hacer esto para hacer y ejecutar migraciones:

. .env ./manage.py makemigrations --settings=djangoproject.settings.development ./manage.py migrate --settings=djangoproject.settings.development


Puede haber varias razones para este error, pero todas están relacionadas con el archivo project/settings.py .

  1. Comprueba si has inicializado SECRET_KEY en él.
  2. Compruebe si tiene la aplicación en INSTALLED_APPS y no está instalada.

Superó la situación similar en este momento.

Todo lo que necesitas es esto:

import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_project.settings")

Y luego estas líneas:

from django.core.wsgi import get_wsgi_application application = get_wsgi_application()

Después de eso, puede importar fácilmente modelos sin AppRegistryNotReady: Apps aren''t loaded yet.

ACTUALIZACIÓN : Esto es realmente exactamente las 4 líneas de código del archivo wsgi.py en la carpeta de su proyecto.