Differences between revisions 15 and 16
Revision 15 as of 2006-09-14 02:13:39
Size: 1236
Editor: zhwang
Comment:
Revision 16 as of 2006-09-14 05:19:07
Size: 4510
Editor: zhwang
Comment: 更新页面
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
{{{作为一个Ubuntu和Python的爱好者,我希望这个描述如何在Ubuntu上搭建Django开发环境的页面能够帮助那些和我遇到相同问题的朋友们。
}}}
''' 作为一个Ubuntu和Python的爱好者,我希望这个描述如何在Ubuntu上搭建Django开发环境的页面能够帮助那些和我相同需求的朋友们。 '''
Line 37: Line 36:
== Apache配置 ==
apache2的配置文件位于目录/etc/apache2/下,apache2默认的站点根目录为/var/www/。一般我们习惯在/var/www/下新建一个mysite目录来作为默认站点的目录,但是我们此时暂不建立此目录,而是留待建立Django的项目时再建立该目录。修改配置文件/etc/apache2/sites-available/default,修改其中的DocumentRoot和第二个Directory指示符的默认值/var/www/指向/var/www/mysite/:
{{{
NameVirtualHost *
        <VirtualHost *>
                ServerAdmin webmaster@localhost
                
                DocumentRoot /var/www/mysite
                <Directory />
                        Options FollowSymLinks
                        AllowOverride None
                </Directory>
                <Directory /var/www/mysite/>
                        Options Indexes FollowSymLinks MultiViews
                        AllowOverride None
                        Order allow,deny
                        allow from all
                </Directory>
Line 38: Line 55:
                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的一个祝贺页面,大功告成。
Line 44: Line 114:
 * [http://www.woodpecker.org.cn/obp/django/django-stepbystep/newtest/doc/ Django Step by Step]

TableOfContents 作为一个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的项目时再建立该目录。修改配置文件/etc/apache2/sites-available/default,修改其中的DocumentRoot和第二个Directory指示符的默认值/var/www/指向/var/www/mysite/:

NameVirtualHost *
        <VirtualHost *>
                ServerAdmin webmaster@localhost
                
                DocumentRoot /var/www/mysite
                <Directory />
                        Options FollowSymLinks
                        AllowOverride None
                </Directory>
                <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的一个祝贺页面,大功告成。

参考链接

zhwang/UbuntuDjango (last edited 2009-12-25 07:09:03 by localhost)