D4I (Django For IIS,暂定名)
文件已更新,适用于最新版的Django. 下载后,d4i.py_2006-01-08 改名为d4i.py . 另一个文件也要这样改名.
功能描述
- 帮助开发者在IIS上使用Django
已知缺陷
- 目前静态文件还不能直接交给IIS处理,还是通过Django来处理的. 这个问题正在改进中
静态文件不是在 iis 下另外建个虚拟目录不就搞定了? -- HuangYi
- 如果把django设到IIS的一个站点(非虚拟目录),那么,访问这个站点下的所有路径,都人交到django去处理了。IIS好像不能像Apache那样可以指定某个路径是静态的。--[:torry:头太晕]
我是说另外单独建个虚拟目录,直接通过 ip 地址访问静态文件,然后在 settings 中配置一下 url 前缀,我就是这么干的。另外其他部分我是基本按照[http://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer 这上面]说的配的,不知道你有没有看过。
- 如果把django设到IIS的一个站点(非虚拟目录),那么,访问这个站点下的所有路径,都人交到django去处理了。IIS好像不能像Apache那样可以指定某个路径是静态的。--[:torry:头太晕]
文件列表
- attachment:d4i.py_2006-01-08 Django的Handler
- attachment:d4iisapi.py_2006-01-08 ISAPI代码
- attachment:readme.txt 本文内容
运行环境
Python2.4 http://www.python.org
activepython2.4 或 pywin32 http://www.activestate.com/python.plex
配置方法
- 将d4i.py 复制到 C:\Python24\Lib\site-packages\Django-0.95-py2.4.egg\django\core\handlers目录下
- 将d4iisapi.py复制到一个目录下(任何的).
- 直接双击d4iisapi.py 会在相同目录下生成一个_d4iisapi.dll , 同时会在iis的默认站点建立一个虚拟目录.不用的话,可以删掉这个虚拟目录 . 也可以直接将C:\Python24\Lib\site-packages\isapi目录下的PyISAPI_loader.dll复制到相同目录下, 并改名为_d4iisapi.dll
- 新建站点或虚拟目录.在站点或虚拟目录的属性窗口中," Home Directory" 标签页, 点击"Configuration"按钮打开"Application Configuration"对话框. 在"Wildcard application maps"中,点" Insert"按钮,打开"Add/Edit Application Extension Mapping"对话框. 点"Browse"按扭选择刚才的_d4iisapi.dll . 去掉"Verify that file exists"选框, 然后OK
- 我用的是英文版,真累人.... :P
- 忘了说了.站点或虚拟目录的"Home Directory"标签页中的"Local Path"项要设为你的Django站点的目当.也就是包含你的settings.py和urls.ppy两个文件的那个目录.
- 别忘了把那两个目录的权限设置一下.(我调试的时候,就是因为权限的问题,多花费了一天时间啊.)
感谢
- 感谢limodou, Dreamingk(天成), 刘鑫, 等等几位老大的指导. (人数太多,不一一列举...)
[:torry:头太晕] [email protected]