我过去曾尝试让 Django 在 Windows 8 Developer Preview 中的 IIS 8 下运行。现在 Windows 8 的消费者预览版已经发布,我想知道是否可以获得一些关于在 IIS 中设置 Django 的详细说明。
我该如何进行这个过程 - 我几乎不知道从哪里开始。我需要特定的 ISAPI 模块吗?
Nat*_*man 19
此过程并非微不足道,但可以使用以下步骤:
首先,下载并安装Python 2.6。(我建议使用 Python 2.6 而不是 Python 2.7 的原因是因为 PyISAPIe 模块支持的最新 Python 版本是 Python 2.6。)记下安装 Python 的位置(C:\Python26如果我没记错的话,默认情况下)。
右键单击计算机,然后单击属性。单击左侧的高级系统设置。

单击高级选项卡,然后单击环境变量按钮。在下方的列表框中找到路径:

单击“编辑...”按钮并转到最后的变量值并插入;C:\Python26(分号加上您安装 Python 的路径):

单击“确定”关闭所有对话框。
接下来,在这里下载最新版本的 PyISAPIe 。将存档的内容提取到某处并打开目录。
接下来,打开控制面板,单击程序和功能,然后单击左侧的“打开或关闭 Windows 功能”。

浏览到 Internet 信息服务 -> 万维网服务 -> 应用程序开发功能,然后确保选中 ISAPI 扩展。

应用更改,然后打开 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 Djangocd Djangopython 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='/')
Run Code Online (Sandbox Code Playgroud)将 Http 目录复制到C:\Python26\Lib\site-packages(或适当的目录,如果您在其他地方安装了 Python)。
重新启动 IIS(您可以通过单击 IIS 管理器右侧的“重新启动”来执行此操作):

如果一切正常,您应该可以访问http://localhost来查看您的新 Django 站点:

进一步的注释和补充
从那以后,我自己为 Python 2.7 编译了 PyISAPIe(32 位和 64 位)并将文件上传到这里:http : //www.box.com/s/a5fb1b21fcdf738d2590
在第 6 步中,您需要确保pyisapie.dllIIS 至少具有读取权限的目录中。不考虑这一点将导致奇怪的错误。
| 归档时间: |
|
| 查看次数: |
8267 次 |
| 最近记录: |