Django: AppRegistryNotReady() Django: AppRegistryNotReady() django django

Django: AppRegistryNotReady()


If you are using your django project applications in standalone scripts, in other words, without using manage.py - you need to manually call django.setup() first - it would configure the logging and, what is important - populate apps registry.

Quote from Initialization process docs:

setup()

This function is called automatically:

  • When running an HTTP server via Django’s WSGI support.

  • When invoking a management command.

It must be called explicitly in other cases, for instance in plain Python scripts.

In your case, you need to call setup() manually:

if __name__ == '__main__':    print "Starting Rango population script..."    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tangle.settings')    import django    django.setup()    populate()

Also, this problem is described in detail in Troubleshooting section.


I found this solution, adding

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

after

os.environ.setdefault ...


I just stumbled about the same problem in my local development server.

After pulling some changed code in, the error was thrown.The problem here obviously has nothing to do with wsgi, so I tried to run manage.py

A simple: python manage.py reveals the real error cause.

In my case a forgotten import of an external Django app.

Maybe this helps someone else out.