2017-10-12 162 views
0

晚上好, 我试图在天蓝色的云上设置hello world应用程序。我下面的教程Django hello world web app on windows server vmDjango Hello World虚拟机上的Hello World网络应用程序

做的所有设置,当我浏览到http://localhost/

我获得以下错误而读WSGI处理程序发生

错误后:回溯(最近通话最后一个) : 在主env中,文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ wfastcgi.py”,行791,handler = read_wsgi_handler(response.physical_path) File“ c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ wfastcgi.py“,第633行,在re ad_wsgi_handler handler = get_wsgi_handler(os.getenv(“WSGI_HANDLER”)) get_wsgi_handler中的第605行文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ wfastcgi.py” handler = handler() 文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ core \ handlers \ wsgi.py”,第151行,在init self .load_middleware() 文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ core \ handlers \ base.py”,第81行,在load_middleware middleware = import_string(中间件路径) 文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ utils \ module_loading.py”,第20行,位于import_string module = import_module(module_path) File “C:\用户\ compUser \应用程序数据\本地\程序\ pytho在import_module中返回__pootstrap._gcd_import(name [level:],package,level) 文件“ _find_and_load 文件 “”,线路955,在_find_and_load_unlocked 文件 “”,线路665,在_load_unlocked 文件 “”,线路678,在exec_module 文件 “”,线路219,在_call_with_frames_removed 文件“C:\用户\ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ contrib \ auth \ middleware.py“,第4行,从django.contrib.auth.backends导入RemoteUserBackend 文件”c:\ users \ compuser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ contrib \ auth \ backends.py“,第4行,来自django.contrib.auth.models导入权限 从django.contrib.auth.base_user导入文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ contrib \ auth \ models.py” AbstractBaseUser,BaseUserManager 类AbstractBaseUser(models.Model)中的第52行文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ contrib \ auth \ base_user.py” ): 文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ db \ models \ base.py”,第110行,在 app_config = apps。 get_containing_app_config(module) get_containing_app_config中的文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ apps \ registry.py”,第247行self.check_apps_ready() 文件“c:\ users \ compUser \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages \ django \ apps \ registry.py“,第125行,在check_apps_ready raise AppRegistryNotReady(”应用程序尚未加载“。)django.core.exceptions.AppRegistryNotReady:应用程序尚未加载。的StdOut:STDERR:

我在一些后看到,人们建议增加django.setup()像独立的应用程序,没有工作或我把在错误的地方。我试图运行python manage.py runserver,它运行时没有错误。

以下是我的网页。配置文件

<configuration> 
<appSettings> 
    <add key="WSGI_HANDLER" value="django.core.handlers.wsgi.WSGIHandler()" /> 
    <add key="PYTHONPATH" value="C:\inetpub\wwwroot\resumeApp" /> 
    <add key="DJANGO_SETTINGS_MODULE" value="resumeApp.settings" /> 

    <!-- optional settings --> 
    <add key="WSGI_LOG" value="C:\inetpub\wwwroot\resumeApp\Logs\resumeApp.log" /> 
</appSettings> 
<system.webServer> 
    <handlers> 
     <add name="Python FastCGI" 
      path="*" 
      verb="*" 
      modules="FastCgiModule" 
      scriptProcessor="c:\users\compUser\appdata\local\programs\python\python36\python.exe|c:\users\compUser\appdata\local\programs\python\python36\lib\site-packages\wfastcgi.py" 
      resourceType="Unspecified" /> 
    </handlers> 
</system.webServer> 

这是我的settings.py

"""enter code hereDjango settings for resumeApp project. 
Generated by 'django-admin startproject' using Django 1.11.6. 

For more information on this file, see 
https://docs.djangoproject.com/en/1.11/topics/settings/ 

For the full list of settings and their values, see 
https://docs.djangoproject.com/en/1.11/ref/settings/ 
""" 

import os 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 


# Quick-start development settings - unsuitable for production 
# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/ 

# SECURITY WARNING: keep the secret key used in production secret! 
SECRET_KEY = '<removed>' 

# SECURITY WARNING: don't run with debug turned on in production! 
DEBUG = True 

ALLOWED_HOSTS = [] 


# Application definition 

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
] 

MIDDLEWARE = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
] 

ROOT_URLCONF = 'resumeApp.urls' 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 

WSGI_APPLICATION = 'resumeApp.wsgi.application' 


# Database 
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 


# Password validation 
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators 

AUTH_PASSWORD_VALIDATORS = [ 
    { 
     'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 
    }, 
] 


# Internationalization 
# https://docs.djangoproject.com/en/1.11/topics/i18n/ 

LANGUAGE_CODE = 'en-us' 

TIME_ZONE = 'UTC' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.11/howto/static-files/ 

STATIC_URL = '/static/' 
+0

它看起来没有设置DJANGO_SETTINGS_MODULE。无论运行您的wsgi应用程序如何WFastCGI,将有一个配置文件需要将您的项目目录添加到PYTHONPATH环境变量,并设置DJANGO_SETTINGS_MODULE环境变量。 – Thtu

+0

添加了config和setting.py文件。这些文件不受教程的影响。只是web.config的值被更改为符合我的设置。 – FurqanRauf

回答

1

web.config,替换:

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

有:

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

参考django source code

+0

谢谢谢谢谢谢。现在我得到了一个不同的错误。我会努力:) – FurqanRauf

+0

只是好奇,你是怎么想出来的? – FurqanRauf

+0

@FurqanRauf干杯:),检查更新。 –