Grałem z tutoriale Django od Microsoftu, który działał dobrze w moim środowisku Visual Studio 2015 z Python 3.4.3. Gdy próbuję uruchomić go przez mój serwer, to zawodzi jednak:Django na IIS: django.core.exceptions.AppRegistryNotReady: Aplikacje nie są jeszcze załadowane
Error occurred:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\wfastcgi.py", line 805, in main
result = handler(record.params, response.start)
File "C:\Python34\lib\site-packages\django\core\handlers\wsgi.py", line 158, in __call__
self.load_middleware()
File "C:\Python34\lib\site-packages\django\core\handlers\base.py", line 51, in load_middleware
mw_class = import_string(middleware_path)
File "C:\Python34\lib\site-packages\django\utils\module_loading.py", line 20, in import_string
module = import_module(module_path)
File "C:\Python34\lib\importlib\__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "C:\Python34\lib\site-packages\django\contrib\auth\middleware.py", line 3, in <module>
from django.contrib.auth.backends import RemoteUserBackend
File "C:\Python34\lib\site-packages\django\contrib\auth\backends.py", line 4, in <module>
from django.contrib.auth.models import Permission
File "C:\Python34\lib\site-packages\django\contrib\auth\models.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:\Python34\lib\site-packages\django\contrib\auth\base_user.py", line 49, in <module>
class AbstractBaseUser(models.Model):
File "C:\Python34\lib\site-packages\django\db\models\base.py", line 94, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Python34\lib\site-packages\django\apps\registry.py", line 239, in get_containing_app_config
self.check_apps_ready()
File "C:\Python34\lib\site-packages\django\apps\registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
StdOut:
StdErr:
kiedy przetestować kod via „manage.py runserver” na serwer, to działa doskonale. Czy ktoś ma jakieś zalecenia dotyczące debugowania, co dzieje się źle, podczas uruchamiania go za pośrednictwem IIS?
Na serwerze działa również Python 3.4.3 z zainstalowanymi django, django-crispy-forms, wfastcgi i mysqlclient. Python jest wykonywany poprzez FastCGI na serwerze Windows 2012 R2 z IIS 8.5 - konfiguracja została wykonana przy użyciu instrukcji na https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-django-web-app-windows-server/
Próbowałem:
1) dodanie po punkcie „os env ...” w moim manage.py:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
2) Dodanie następujących sekcji "os env ..." w moim manage.py:
import django
django.setup()
Jak inni wspomniano te rozwiązania w O wątki, ale niestety bez powodzenia. Jestem całkowicie nowy w obu Pythonie/Django, więc nie mam pojęcia, jak postępować. Wszelkie dane wejściowe będą mile widziane!
Miałem podobny problem raz. To była zła inicjalizacja aplikacji wsgi. Połączenie zmieniło się w wersjach Django i samouczek może nie pokryć twojego. –