/ / Django na IIS: django.core.exceptions.AppRegistryNotReady: Aplikácie ešte nie sú načítané - python, django, iis, fastcgi

Django na službe IIS: django.core.exceptions.AppRegistryNotReady: Aplikácie ešte nie sú načítané - python, django, iis, fastcgi

Hral som s Django tyiralomod spoločnosti Microsoft, ktorá fungovala v mojom prostredí Visual Studio 2015 s Pythonom 3.4.3. Keď sa to pokúšam spustiť cez môj webserver, zlyháva:

Error occurred:

Traceback (most recent call last):
File "C:Python34libsite-packageswfastcgi.py", line 805, in main
result = handler(record.params, response.start)
File "C:Python34libsite-packagesdjangocorehandlerswsgi.py", line 158, in __call__
self.load_middleware()
File "C:Python34libsite-packagesdjangocorehandlersbase.py", line 51, in load_middleware
mw_class = import_string(middleware_path)
File "C:Python34libsite-packagesdjangoutilsmodule_loading.py", line 20, in import_string
module = import_module(module_path)
File "C:Python34libimportlib__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:Python34libsite-packagesdjangocontribauthmiddleware.py", line 3, in <module>
from django.contrib.auth.backends import RemoteUserBackend
File "C:Python34libsite-packagesdjangocontribauthbackends.py", line 4, in <module>
from django.contrib.auth.models import Permission
File "C:Python34libsite-packagesdjangocontribauthmodels.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:Python34libsite-packagesdjangocontribauthbase_user.py", line 49, in <module>
class AbstractBaseUser(models.Model):
File "C:Python34libsite-packagesdjangodbmodelsbase.py", line 94, in __new__
app_config = apps.get_containing_app_config(module)
File "C:Python34libsite-packagesdjangoappsregistry.py", line 239, in get_containing_app_config
self.check_apps_ready()
File "C:Python34libsite-packagesdjangoappsregistry.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:

Keď otestujem kód prostredníctvom "run.py runserver" na webserveru, funguje to perfektne. Má niekto nejaké odporúčania, ako ladiť, čo sa deje pri spustení cez IIS?

Server používa program Python 3.4.3, rovnako ako django, django-crispy-forms, wfastcgi a mysqlclient. Python sa spúšťa cez FastCGI na serveri Windows 2012 R2 so službou IIS 8.5 - konfigurácia bola vykonaná pomocou príručky at https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-django-web-app-windows-server/

Skúsil som:

1) Pridanie nasledujúcich položiek pod "os env ..." v mojom manage.py:

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

2) Pridanie nasledujúcich slov pod "os env ..." v mojom manage.py:

import django
django.setup()

Ako iní ľudia spomínali tieto riešeniainé vlákna, ale bohužiaľ bez šťastia. Som úplne nový pre Python / Django, takže nemám potuchy, ako postupovať. Každý vstup by bol veľmi oceňovaný!

odpovede:

13 pre odpoveď č. 1

Ukazuje sa, že prepojená príručka spoločnosti Microsoft je neaktuálna.

V web.config je potrebné nahradiť nasledovné:

<add key="WSGI_HANDLER" value="django.core.handlers.wsgi.WSGIHandler()" />

s:

<add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />

a potom to bude fungovať :-)