<> ''' 作为一个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