>
''' 作为一个Ubuntu和Python的爱好者,我希望这个描述如何在Ubuntu上搭建Django开发环境的页面能够帮助那些和我有相同需求的朋友们。 '''
= 软件清单 =
* 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 ==
参考[[http://www.djangoproject.com/download/|How to get 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 *
ServerAdmin webmaster@localhost
#DocumentRoot /var/www
DocumentRoot /var/www/mysite
Options FollowSymLinks
AllowOverride None
#
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/mysite_error.log
LogLevel warn
CustomLog /var/log/apache2/mysite_access.log combined
ServerSignature On
}}}
配置完毕之后记得重新启动apache2:
{{{
apache2ctl -k restart
}}}
== mod_python配置 ==
对mod_python的配置需要修改的配置文件是/etc/apache2/httpd.conf,只需在文件中加入一个Location指示符即可,其内容如下:
{{{
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonPath "['/var/www'] + sys.path"
PythonDebug On
}}}
需要注意的是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配置与测试 ==
待续
= 参考链接 =
* [[http://debian.linuxsir.org/doc/inthedebianway/Debian_Tools_apt.html|Debian维护工具之APT]]
* [[http://debian.linuxsir.org/doc/inthedebianway/apache2/debian-apache2.html|apache2安装与配置]]
* [[http://www.djangoproject.com/download/|How to get Django]]
* [[http://www.djangoproject.com/documentation/install/|How to install Django]]
* [[http://www.djangoproject.com/documentation/modpython/|How to use Django with mod_python]]
* [[http://www.woodpecker.org.cn/obp/django/django-stepbystep/newtest/doc/|Django Step by Step]] by limodou