3

我正在尝试在基于 IIS 的服务器上使用 Django 运行站点。我按照主站点上的所有说明(http://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer),并用一篇非常好的文章(http://www.messwithsilverlight.com/2009/11/django )仔细检查了它-on-windows-server-2003-and-iis6/)。

我成功地设置了 IIS 来读取 .py 文件。按照主要说明,我可以让服务器呈现 Info.py。但是,我似乎无法让 IIS 和 Django 发挥得很好。例如,如果我的虚拟目录是“abc”,那么如果我转到“localhost/abc/”,浏览器只会向我显示该文件夹的内容目录。此外,如果我设置了我的网址,以便“/dashboard/1”将我带到某个页面,输入“localhost/abc/dashboard/1”会给我一个“页面无法显示”错误。

我相当肯定 IIS 根本没有引用 Django 或与 Django 交互。有谁知道如何解决这个问题?

谢谢

4

2 回答 2

2

这是我遵循的原始说明,

基础说明:https ://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer 附加提示:http ://whelkaholism.blogspot.ca/

  1. 您应该做的第一件事是安装 Python 2.5 或 2.6,对于 2.7,您需要重新编译 PyISAPIe,我没有这样做。http://www.python.org/ftp/python/2.6/python-2.6.msi
  2. 您需要安装与您的 Python 解释器版本匹配的 PyISAPIe 版本,如果它们不匹配,它将失败。到那里去:http: //sourceforge.net/projects/pyisapie/files/pyisapie/
  3. 将上一步提取的文件夹移动到合适的位置(即 C:)
  4. 您需要更改 PyISAPIe.dll 的安全设置,他们建议读取网络服务,但我设置了每个人,以确保这个没有问题
  5. 然后,您必须将PyISAPIe 的 Http 文件夹剪切并粘贴(重要)到 Python 安装目录的 Lib\Site-Packages
  6. 接下来,设置 IIS(在运行中使用inetmgr打开管理器(winkey+r):
    • 添加新的虚拟目录并在向导提示时允许执行 ISAPI 扩展
    • 在虚拟目录的属性中添加新的通配符扩展名,取消勾选文件存在设置
    • 将 Web 服务扩展添加到指向 dll 的 IIS 管理器,确保它是允许的
  7. 从 PyISAPIe 文件夹中,复制 examples\django\Isapi.py 并将其粘贴到 Lib\Site-Packages\Http
  8. 在 Isapi.py 中,设置路径(即 c:\inetpub\wwwroot\ web_site\ django_project)和 DJANGO_SETTINGS_MODULE(即django_app.settings)
  9. 对文件进行任何更改后,请在命令提示符中使用iisreset应用更改

以下是您可能会做的其他一些事情

  • 确保您的 db 文件的路径(如果使用 sqlite)没问题
  • 对模板位置设置执行相同操作
  • 在您的 urls 和 html 文件中,确保路径以您给虚拟目录别名的名称开头(即web_site在我们的示例中)

最后,您可能会在提供 CSS 时遇到困难。如果您有任何问题,请告诉我,我会更新我的帖子。

于 2013-01-11T13:15:13.827 回答
0

使用任何网络服务器为 Django 服务基本上涉及三个关键细节:

  1. 告诉网络服务器,“我希望你提供由这个调用 python 的模块提供的内容”
  2. 告诉 python 模块,“我希望你使用这个文件中的详细信息来执行 python 代码”
  3. 告诉文件,“我希望你使用 Django”

如果您要获取虚拟目录的目录列表,那么您似乎应该调查 VD 设置以确保为该目录配置了 PyISAPIe(关键细节 #1)。

从你提到的文章中:

  • 打开 IIS 管理控制台,创建一个新的虚拟目录,并在向导提示时允许执行 ISAPI 扩展。

    • 查看新文件夹的属性并点击“配置”按钮(如果是灰色的,请先点击“创建”),然后添加一个新的通配符扩展名(下框),找到pyisapie.dll文件并取消勾选“检查该文件是否存在”框。

    • 在 IIS 管理器中,转到“Web 服务扩展”部分,然后右键单击 -> 添加新的 Web 服务扩展。

  • 给它一个名字(没关系),添加 pyisapie.dll 填充作为必需的文件并选中复选框以将扩展状态设置为允许。

于 2010-04-14T20:02:41.857 回答