AppRegistryNotReady: les Applications ne sont pas encore chargés. Django
Je suis en train de lancer django 1.9 sur google app engine. Ai l'erreur ci-dessous lorsque vous essayez d'accéder à l'API par le biais de l'API Google Explorer.
Traceback (most recent call last):
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
__import__(cumulative_path)
File "/home/gemini/projects/cityguide-backend/src/cityguide/api/services.py", line 9, in <module>
from cityguide.api.internal.categories import Categories
File "/home/gemini/projects/cityguide-backend/src/cityguide/api/internal/categories.py", line 10, in <module>
from cityguide.models import Category
File "/home/gemini/projects/cityguide-backend/src/cityguide/models.py", line 8, in <module>
class ContactDetails(models.Model):
File "/home/gemini/projects/cityguide-backend/src/lib/django/db/models/base.py", line 94, in __new__
app_config = apps.get_containing_app_config(module)
File "/home/gemini/projects/cityguide-backend/src/lib/django/apps/registry.py", line 239, in get_containing_app_config
self.check_apps_ready()
File "/home/gemini/projects/cityguide-backend/src/lib/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
AppRegistryNotReady: Apps aren't loaded yet.
J'ai déjà ajouté
builtins:
- deferred: on
- remote_api: on
- django_wsgi: on
handlers:
- url: .*
script: mysite.wsgi.application
env_variables:
DJANGO_SETTINGS_MODULE: 'mysite.settings'
à l'intérieur de app.yaml
fichier.
wsgi.py
ressemble
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
application = get_wsgi_application()
J'ai essayé d'ajouter django.setup()
ligne sur le dessus de models.py
mais il montre une autre erreur.
ERROR 2016-02-01 10:03:02,918 wsgi.py:263]
Traceback (most recent call last):
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
__import__(cumulative_path)
File "/home/gemini/projects/cityguide-backend/src/cityguide/api/services.py", line 9, in <module>
from cityguide.api.internal.categories import Categories
File "/home/gemini/projects/cityguide-backend/src/cityguide/api/internal/categories.py", line 10, in <module>
from cityguide.models import Category
File "/home/gemini/projects/cityguide-backend/src/cityguide/models.py", line 6, in <module>
django.setup()
File "/home/gemini/projects/cityguide-backend/src/lib/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/gemini/projects/cityguide-backend/src/lib/django/apps/registry.py", line 115, in populate
app_config.ready()
File "/home/gemini/projects/cityguide-backend/src/lib/django/contrib/admin/apps.py", line 22, in ready
self.module.autodiscover()
File "/home/gemini/projects/cityguide-backend/src/lib/django/contrib/admin/__init__.py", line 26, in autodiscover
autodiscover_modules('admin', register_to=site)
File "/home/gemini/projects/cityguide-backend/src/lib/django/utils/module_loading.py", line 50, in autodiscover_modules
import_module('%s.%s' % (app_config.name, module_to_search))
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/gemini/projects/cityguide-backend/src/cityguide/admin.py", line 2, in <module>
from cityguide.models import Category
ImportError: cannot import name Category
ERROR 2016-02-01 10:03:02,919 wsgi.py:263]
Traceback (most recent call last):
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
__import__(cumulative_path)
File "/home/gemini/projects/cityguide-backend/src/cityguide/api/services.py", line 9, in <module>
from cityguide.api.internal.categories import Categories
File "/home/gemini/projects/cityguide-backend/src/cityguide/api/internal/categories.py", line 10, in <module>
INFO 2016-02-01 10:03:03,000 module.py:794] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 500 -
from cityguide.models import Category
INFO 2016-02-01 10:03:03,001 module.py:794] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 500 -
File "/home/gemini/projects/cityguide-backend/src/cityguide/models.py", line 6, in <module>
INFO 2016-02-01 10:03:03,001 module.py:794] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 500 60
django.setup()
INFO 2016-02-01 10:03:03,001 module.py:794] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 500 60
File "/home/gemini/projects/cityguide-backend/src/lib/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/gemini/projects/cityguide-backend/src/lib/django/apps/registry.py", line 78, in populate
raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant
Solution temporaire à ce problème:
Semble que j'ai besoin d'ouvrir la page d'accueil de première. Afin qu'il se charge de la db depuis que j'ai fait la page d'accueil de retourner tous les db contenu de la table . Une fois la db listes indiqué sur la page d'accueil, nous sommes prêts à appeler l'API Google Explorer.
Est-il possible d'affiner cette solution?
application = get_wsgi_application()
n'a pas été exécuté. Par exemple, si vous importez des modèles django directement. Je pense qu'il y a certains processus d'installation nécessaire pour raccorder le python modèles de la base de données.Je ne suis pas sûr de ce qui se passe dans cette étape
File "/home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject __import__(cumulative_path)
, mais ça doit être une autre wsgi.py de celui dans le projet django. Peut-être get_wsgi_application()
étape n'a pas exécuté.Ne fonctionnera pas si vous essayez de lancer votre site avec Django
manage.py runserver
?non, il ne sera pas..
OriginalL'auteur Avinash Raj | 2016-01-29
Vous devez vous connecter pour publier un commentaire.
Vous devez d'abord lancer django de cette façon dans votre script:
Voir https://docs.djangoproject.com/en/1.9/ref/applications/#django.setup
Vous pouvez également consulter la section Dépannage de ce lien pour voir les autres possibilités pour résoudre ce aprticular exception.
En ajoutant les deux lignes ci-dessus en haut de
services.py
fichier résout ce problème pour moi../home/gemini/softwares/google_appengine/google/appengine/runtime/wsgi.py
non , ça ne fonctionne pas.
pls voir ma mise à jour.. j'ai ajouté un temp solution.
Je ne peux pas proposer une meilleure solution permanente. Je n'ai jamais utilisé de django avec google app engine ou l'API Google explorer.
OriginalL'auteur Mijamo
Dans votre script lancer django:
OriginalL'auteur FelipeGTX