我过去曾尝试使Django在Windows 8 Developer Preview中的IIS 8下运行。既然Windows 8的使用者预览版已经发布,我想知道是否可以得到一些有关在IIS中设置Django的详细说明。
我如何进行此过程-我几乎不知道从哪里开始。我需要特定的ISAPI模块吗?
我过去曾尝试使Django在Windows 8 Developer Preview中的IIS 8下运行。既然Windows 8的使用者预览版已经发布,我想知道是否可以得到一些有关在IIS中设置Django的详细说明。
我如何进行此过程-我几乎不知道从哪里开始。我需要特定的ISAPI模块吗?
Answers:
这个过程并不简单,但是可以使用以下步骤:
首先,下载并安装Python 2.6。(之所以建议使用Python 2.6而不是Python 2.7是因为PyISAPIe模块支持的最新Python版本是Python 2.6。)记下安装Python的位置(C:\Python26
默认情况下,如果我没有记错的话)。
用鼠标右键单击计算机,然后单击属性。单击左侧的高级系统设置。
单击高级选项卡,然后单击环境变量按钮。在下面的列表框中找到路径:
单击“编辑...”按钮,然后到变量值末尾并插入;C:\Python26
(分号以及安装Python的路径):
单击“确定”关闭所有对话框。
接下来,在此处下载最新版本的PyISAPIe 。将档案内容解压缩到某个位置,然后打开目录。
接下来,打开控制面板,单击“程序和功能”,然后单击左侧的“打开或关闭Windows功能”。
浏览到Internet信息服务->万维网服务->应用程序开发功能,然后确保选中了ISAPI Extensions。
应用更改,然后打开IIS管理器。双击处理程序映射图标。
单击右侧的“添加模块映射”。在出现的对话框中,输入以下信息:
PyISAPIe.dll
]
它看起来应该像这样:
关闭对话框之前,单击“请求限制”,取消选中“仅在请求映射到时才调用处理程序:”,然后单击“确定”。另外,单击“确定”关闭“添加模块映射”对话框(如果询问您是否要将带有允许条目的扩展名添加到ISAPI和CGI限制列表中,请单击“是”)。
下一步是下载Django。将存档的内容提取到某个位置(注意位置)。打开一个命令提示符(您可以通过按Win+ R,输入cmd
并单击来完成此操作Enter),然后键入cd
随后将Django解压缩到的位置:
按Enter,键入cd dj
,然后按Tab。这将完成Django文件夹的路径,您可以按Enter打开目录。现在输入python setup.py install
:
现在,您需要创建Django项目。出于示例目的,我们将在下创建项目C:\Django
。在命令窗口中,键入以下命令,然后输入Enter:
cd C:\
mkdir Django
cd Django
python C:\Python26\Lib\site-packages\django\bin\django-admin.py startproject test
这将创建一个名为“ test”的项目。
一旦过程成功完成,剩下的最后一项任务是将PyISAPIe连接到Django。为此,请返回您将PyISAPIe提取到的目录,然后查找Http目录。里面是一个文件Isapi.py
。在文本编辑器中将其打开,并将内容替换为以下内容:
from django.core.handlers.wsgi import WSGIHandler as DjangoHandler
from Http.WSGI import RunWSGI
from Http import Env
import os, sys
sys.path.append('C:\Django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'test.settings'
def Request():
PathInfo = Env.PATH_INFO
if not PathInfo.startswith('/'):
return True
for Excl in ['/media']:
if PathInfo.startswith(Excl):
return True
return RunWSGI(DjangoHandler(), Base='/')
将Http目录复制到C:\Python26\Lib\site-packages
(如果在其他地方安装了Python,则复制到相应的目录)。
重新启动IIS(您可以通过单击IIS管理器右侧的“重新启动”来执行此操作):
如果一切正常,您应该可以访问http:// localhost来查看新的Django站点:
进一步的说明和补充
此后,我已经自己(32位和64位)编译了适用于Python 2.7的PyISAPIe,并在此处上传了文件:http : //www.box.com/s/a5fb1b21fcdf738d2590
在步骤6中,您需要确保该pyisapie.dll
目录位于IIS至少具有读取访问权限的目录中。不考虑这一点将导致奇怪的错误。
您可以在此博客文章中找到有关如何在IIS8上安装Django的详细指南:
简而言之,需要完成以下步骤:
希望有帮助!
另一个选择是使用django-windows-tools,尽管它已经几年没有更新了。它只是为您在IIS中设置FastCGI模块,因此您不必担心使用PyISAPIe。