经过了连续两天的跟踪,django终于在俺的机器上跑起来了。 走了不少弯路,想想还是把遇到的问题写下来吧,让大家能够节省点时间。

apache 2.0.54: [http://archive.apache.org/dist/httpd/binaries/win32/apache_2.0.54-win32-x86-no_ssl.msi 点击下载]

mod_python 3.1.4: [http://mirror.vmmatrix.net/apache/dist/httpd/modpython/mod_python-3.1.4.tgz 源码下载] 没找到win32版本的,自己编译, 配置两个环境变量PYTHONSRCAPACHESRC, 用python对应的编译器(python2.4=vc71)编译即可

pyscopg1 1.1.18: [http://stickpeople.com/projects/python/win-psycopg/win-psycopg24-pg8.0.zip 点击下载]

posggresql 8.0: [http://wwwmaster.postgresql.org/download/mirrors-ftp?file=binary%2Fv8.0.3%2Fwin32%2Fpostgresql-8.0.3.zip 点击选择合适的下载]

httpd.conf:

# 修改DocumentRoot
DocumentRoot "d:/myproject/django/wwwpub" # 此处是你的web发布目录, 用于存放静态文件
# 修改下面对应DocumentRoot项的<Directory>标记
<Directory "d:/myproject/django/wwwpub">
   .... # 省略
</Directory>

# 增加下面的标记,用于映射url http://localhost:8080/admin/下的访问
<Location /admin/>
    SetHandler mod_python
    PythonHandler django.core.handler
    SetEnv DJANGO_SETTINGS_MODULE testproj.settings.admin
</Location>

细心的朋友会发现上面没有映射根(/), 因为俺也没有研究出来, 当按/admin/的方式映射根时, 根下所有的静态文件都不能访问了(必然的结果:(), 等adrian的教程3吧

保证django在sys.path中能够找到

( 以下部分抄自原版教程, 只说关键部分吧 )

在wwwpub之外随便找一个目录,但要求能在sys.path中找到, 执行:

python xxxx\django\bin\django-admin.py startproject testproj

该命令会在当前执行目录下建立一个testproj目录,用于存放该项目的model,url映射,视图和模版.

执行后,进入testproj\apps, 执行:

python xxxx\django\bin\django-amdin.py startapp polls

该命令就建立了一个polls目录, 里面就可以放置testproj项目的polls应用的具体内容了.

编辑testproj\settings\main.py, 配置数据库参数

执行set DJANGO_SETTINGS_MODULE=testproj.settings.main, 注意不要加引号, 教程里加引号win下不正确

执行

python xxxx\django\bin\django-amdin.py init 

来初始化数据库.

按教程说明编写polls.py文件. 并配置testproj.settings.main中的INSTALLED_APPS

执行

python xxxx\django\bin\django-amdin.py install polls

django会自动根据polls.py文件中的模型建表.

按照教程01中Playing with the API的内容操作. 此处体现了python的强大. 你只需要定义一个模型对象, 所有的操作自动给你构造好了. OK, 完成这一小节的操作后,数据库中就增加了几条记录了.

拷贝 trunk下的media目录到wwwpub下, 启动apache server看看能不能访问/media/img/下的图片

按照教程02中Create a user account的内容创建一个用户.

使用 http://127.0.0.1:8080/admin/ 登录管理界面. 如果登录不报错, 但总是在登录界面循环, 需要在testproj.settings.admin中增加

REGISTRATION_COOKIE_DOMAIN = '127.0.0.1'

很简单,按照教程一步一步来就行了.