win7,IIS上部署django,部署的教程网上不少,不再赘述,遇到坑找起来却不容易,记录一下,希望对大家有用!
1:HTTP错误500,FASTCGI进程失败
解决办法:应用程序池->高级设置->标识: 将默认的ApplicationPoolIdentify修改为LocalSystem
2: Error occurred while reading WSGI handler: Traceback (most recent call last): File "C:\Python34\lib\site-packages\wfastcgi.py", line 791, in main env, handler = read_wsgi_handler(response.physical_path) File "C:\Python34\lib\site-packages\wfastcgi.py", line 633, in read_wsgi_handler handler = get_wsgi_handler(os.getenv("WSGI_HANDLER")) File "C:\Python34\lib\site-packages\wfastcgi.py", line 586, in get_wsgi_handler raise Exception('WSGI_HANDLER env var must be set') Exception: WSGI_HANDLER env var must be set StdOut: StdErr:
解决办法:这个问题比较头疼,后来发现是在环境变量设置的时候,value多了一个空格,所以,作为程序员一定要严谨。
3:加载不了页面,只显示项目文件
解决办法1:查看是否添加“模块映射”,点中我们新建的网站。
TIP:不要点中左侧列表的根目录,根目录处理程序映射是对所有添加的网站有效。
找到【处理程序映射】,双击打开,找到【添加模块映射】,点击打开后依次进行设置:
请求路径:*
模块:FastCgiModule
可执行文件:Python解释器的路径|wfastcgi.py文件路径
名称:MyFastCGI(自定义名称)
解决方法2:在Response中加上content_type='text/html',就在view.py里面添加content_type='text/html'
4:静态文件CSS加载不了
解决办法:
a 配置静态文件 ,在settings.py中添加STATIC_ROOT = os.path.join(BASE_DIR, 'static')
b 收集静态文件 跳转到项目目录下, 执行 python manage.py collectstatic,此时项目生成static
C 配静态文件,在你自己的项目的static文件夹中新建一个名为web.config的文件,内容如下
<?xmlversion="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<removename="FastCgiModule" />
</handlers>
</system.webServer>
</configuration>
FastCgiModule是在 IIS 配置刚才添加模块映射的名称
D 配置虚拟路径,打开IIS管理器,选定网站,右击选择添加虚拟路径
至此,应该网站就不成问题了,摸清原理和每个步骤的意思,能够避免错误也能帮助你快速排错。
5:django管理页面显示不了样式
在IIS设置好static的正确路径