Contents
软件清单
- Ubuntu 6.06 LTS
- Python 2.4.3
- Apache 2.0.55
- mod_python 3.1.4
- SQLite 3.2.8
- pysqlite 2
- Django 0.95
软件安装
Ubuntu
Ubuntu 6.06 LTS Alternate CD
Python
Ubuntu 6.06 LTS默认安装Python 2.4.3
Apache
apt-get install apache2
mod_python
apt-get install libapache2-mod-python2.4
SQLite
apt-get install sqlite3
pysqlite
apt-get install python2.4-pysqlite2
Django
软件配置与测试
Apache配置
apache2的配置文件位于目录/etc/apache2/下,apache2默认的站点根目录为/var/www/。一般我们习惯在/var/www/下新建一个mysite目录来作为默认站点的目录,但是我们此时暂不建立此目录,而是留待建立Django的项目时再建立该目录。修改apache2的默认站点配置文件/etc/apache2/sites-available/default,修改其中的DocumentRoot和第二个Directory指示符由默认值/var/www/改为/var/www/mysite/:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
#DocumentRoot /var/www
DocumentRoot /var/www/mysite
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#<Directory /var/www/>
<Directory /var/www/mysite/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/mysite_error.log
LogLevel warn
CustomLog /var/log/apache2/mysite_access.log combined
ServerSignature On
</VirtualHost>配置完毕之后记得重新启动apache2:
apache2ctl -k restart
mod_python配置
对mod_python的配置需要修改的配置文件是/etc/apache2/httpd.conf,只需在文件中加入一个Location指示符即可,其内容如下:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonPath "['/var/www'] + sys.path"
PythonDebug On
</Location>需要注意的是PythonPath的设置,其中的/var/www是mysite目录的上一级目录。
Django配置
在/var/www/目录下使用django-admin.py工具建立一个名称为mysite的Django项目:
django-admin.py startproject mysite
该工具将建立一个名为mysite的目录,同时在该目录下将生成一系列的项目初始文件:
__init__.py
表示这是一个 Python 的包
manage.py
提供简单化的 django-admin.py 命令,特别是可以自动进行 DJANGO_SETTINGS_MODULES 和 PYTHONPATH 的处理,而没有这个命令,处理上面环境变量是件麻烦的事情
settings.py
它是django的配置文件
uls.py
url映射处理文件, Karrigell 没有这种机制,它通过目录/文件/方法来自动对应,而 Django 的url映射是url对于某个模块方法的映射,目前不能自动完成
不使用数据库的Django测试
打开浏览器在地址栏中输入:
http://localhost/
并回车,一切正常的话将会看到Django的一个祝贺页面,大功告成。
使用SQLite数据库的Django配置与测试
待续
使用MySQL数据库的Django配置与测试
待续
