urls template examples bootstrap python django

python - template - Django 1.7 lanza django.core.exceptions.AppRegistryNotReady: los modelos aún no están cargados



href django (10)

Este es el rastreo en mi sistema de Windows.

Traceback (most recent call last): File "D:/AMD/workspace/steelrumors/manage.py", line 9, in <module> django.setup() File "D:/AMD/Django/django-django-4c85a0d/django/__init__.py", line 21, in setup apps.populate(settings.INSTALLED_APPS) File "D:/AMD/Django/django-django-4c85a0d/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "D:/AMD/Django/django-django-4c85a0d/django/apps/config.py", line 197, in import_models self.models_module = import_module(models_module_name) File "C:/Python27/lib/importlib/__init__.py", line 37, in import_module __import__(name) File "C:/Python27/lib/site-packages/registration/models.py", line 15, in <module> User = get_user_model() File "D:/AMD/Django/django-django-4c85a0d/django/contrib/auth/__init__.py", line 135, in get_user_model return django_apps.get_model(settings.AUTH_USER_MODEL) File "D:/AMD/Django/django-django-4c85a0d/django/apps/registry.py", line 199, in get_model self.check_models_ready() File "D:/AMD/Django/django-django-4c85a0d/django/apps/registry.py", line 131, in check_models_ready raise AppRegistryNotReady("Models aren''t loaded yet.") django.core.exceptions.AppRegistryNotReady: Models aren''t loaded yet.

Y mi manage.py se ve así:

import os import sys import django if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "steelrumors.settings") django.setup() from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)

Recibo este error cuando intento utilizar la aplicación de registration en Django 1.7


¿Tiene un entorno virtual de Python que debe ingresar antes de ejecutar manage.py?

Me encontré con este error yo mismo, y ese era el problema.


Acabo de encontrar el mismo problema. El problema se debe a django-registration incompatible con el modelo de usuario django 1.7.

Una solución simple es cambiar estas líneas de código en su módulo django-registration instalado ::

try: from django.contrib.auth import get_user_model User = get_user_model() except ImportError: from django.contrib.auth.models import User

a::

from django.conf import settings try: from django.contrib.auth import get_user_model User = settings.AUTH_USER_MODEL except ImportError: from django.contrib.auth.models import User

El mío está en .venv/local/lib/python2.7/site-packages/registration/models.py (virtualenv)


Ejecutar estos comandos resolvió mi problema (crédito a esta respuesta ):

import django django.setup()

Sin embargo, no estoy seguro de por qué necesito esto. Los comentarios serán apreciados.


El problema está en su aplicación de registro. Parece que django-registration llama a get_user_module() en models.py a nivel de módulo (cuando el proceso de registro de la aplicación aún está cargando modelos). Esto ya no funcionará:

try: from django.contrib.auth import get_user_model User = get_user_model() except ImportError: from django.contrib.auth.models import User

Cambiaría este archivo de modelos para que solo llame a get_user_model() dentro de los métodos (y no a nivel de módulo) y en FK use algo como:

user = ForeignKey(settings.AUTH_USER_MODEL)

Por cierto, la llamada a django.setup() no debería ser requerida en su archivo manage.py , se le llama en execute_from_command_line . ( source )


Esto es lo que lo resolvió para nosotros y estas personas :

Nuestro proyecto comenzó con Django 1.4, pasamos a 1.5 y luego a 1.7. Nuestro wsgi.py se veía así:

import os from django.core.handlers.wsgi import WSGIHandler os.environ[''DJANGO_SETTINGS_MODULE''] = ''myapp.settings'' application = WSGIHandler()

Cuando actualicé al manejador WSGI 1.7 estilo:

import os from django.core.wsgi import get_wsgi_application os.environ[''DJANGO_SETTINGS_MODULE''] = ''myapp.settings'' application = get_wsgi_application()

Todo funciona ahora


Esto funciona para mí para Django 1.9. El script de Python para ejecutar estaba en la raíz del proyecto Django.

import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PROJECT_NAME.settings") django.setup() from APP_NAME.models import *

Establece PROJECT_NAME y APP_NAME en la tuya


Me encontré con este problema cuando uso djangocms y agregué un complemento (en mi caso: djangocms-cascade). Por supuesto, tuve que agregar el complemento a INSTALLED_APPS. Pero el orden es aquí importante.

Colocar ''cmsplugin_cascade'' antes de ''cms'' resuelve el problema.


Otra opción es que tenga una entrada duplicada en INSTALLED_APPS. Eso arrojó este error para dos aplicaciones diferentes que probé. Aparentemente, no es algo que Django verifique, pero quién es tan tonto como para poner la misma aplicación en la lista dos veces. Yo, eso es quién.


Su manage.py es "incorrecto"; No sé de dónde lo manage.py , pero eso no es un 1.7 manage.py - ¿ manage.py usando alguna versión pre-lanzamiento funky o algo así?

Restablezca su manage.py a lo convencional, como se muestra a continuación, y las cosas deberían funcionar:

#!/usr/bin/env python import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings") from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)


instale django-registration-redux == 1.1 en vez django-registration, si usa django 1.7