Django 快速实战入门(二):组建开发环境

开发系统的选择

Django 和 Linux 都是开源运动的优秀产物,使用开源产品,在构建一个应用时,我们会有更多选择,也更加灵活。因此没有任何理由让我选择在 Windows 下开发和部署基于 Django 的应用。

笔者使用的 Linux 系统为 Gentoo Linux

gentoo ~ # uname -a
Linux gentoo 2.6.25-gentoo-r9 #2 SMP Mon Nov 10 13:39:19 CST 2008 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4000+ AuthenticAMD GNU/Linux

安装 Python

Django 使用 Python 代码编写而成,因此需要先确认你的系统中是否已安装 Python。

大多数的 Linux 中都已经预装了 Python,可以使用以下命令查看是否已经安装:

gentoo ~ # python -V
Python 2.4.4

安装 Django

http://www.djangoproject.com/download/ 上下载当前的最新官方发布版本:Django-1.0.2-final.tar.gz

然后解压并进行安装:

gentoo ~ # tar zxf Django-1.0.2-final.tar.gz

gentoo ~ # cd Django-1.0.2-final

gentoo Django-1.0.2-final # python setup.py install

接着你可以在 Python 命令窗口中查看当前已安装的 Django 版本:

gentoo ~ # python
Python 2.4.4 (#1, Jun 15 2008, 16:32:23)
[GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import django
>>> django.VERSION
(1, 0, 2, ‘final’, 0)
>>>

安装 MySQL

Django 支持 PostgreSQLSQLite 3MySQL 等多种数据库,其中 MySQL 是我用过的最为满意的数据库。如果您没有其它特殊需求的话,建议您选用 MySQL。在 Gentoo 下的安装指令为:

gentoo ~ # emerge mysql

安装完 MySQL 后,默认密码为空,需要执行以下指令设置 root 用户的密码:

gentoo ~ # mysqladmin -uroot -p -h localhost password hily

如果有需要,可以修改 /etc/mysql/my.cnf 对 MySQL 进行配置。

然后启动 MySQL:

gentoo ~ # /etc/init.d/mysql start

测试是否安装成功:

gentoo ~ # mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 194
Server version: 5.0.60-log Gentoo Linux mysql-5.0.60-r1

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

安装 MySQLdb

要在 Django 中使用 MySQL,你还需要安装 MySQLdb:

http://sourceforge.net/projects/mysql-python

下载后安装(需要 setuptools 支持):

gentoo ~ # tar zxf MySQL-python-1.2.2.tar.gz

gentoo ~ # cd MySQL-python-1.2.2

gentoo MySQL-python-1.2.2 # python setup.py install

新建一个 Django 项目

运行以下命令,新建一个项目:

gentoo ~ # django-admin.py startproject myblog

运行后会在当前目录下新建一个名为 myblog 的目录,结构如下:

gentoo ~ # ls myblog/
__init__.py  manage.py  settings.py  urls.py

包含四个文件:

  • __init__.py

    表示该目录是一个包。

  • manage.py

    Django 项目的管理工具,后文多处会用到这个工具。

    您可以先使用以下命令查看这个工具的子命令列表:

    gentoo myblog # python manage.py help

    在 help 后面加上子命令,则可以查看各个子命令的帮助,如:

    gentoo myblog # python manage.py help runserver  
    usage: manage.py runserver [options] [optional port number, or ipaddr:port]

    Starts a lightweight Web server for development.

    options:
      –settings=SETTINGS   The Python path to a settings module, e.g.
                            “myproject.settings.main”. If this isn’t provided, the
                            DJANGO_SETTINGS_MODULE environment variable will be
                            used.
      –pythonpath=PYTHONPATH
                            A directory to add to the Python path, e.g.
                            “/home/djangoprojects/myproject”.
      –traceback           Print traceback on exception
      –noreload            Tells Django to NOT use the auto-reloader.
      –adminmedia=ADMIN_MEDIA_PATH
                            Specifies the directory from which to serve admin
                            media.
      –version             show program’s version number and exit
      -h, –help            show this help message and exit

  • settings.py

    保存项目级别的 Django 配置信息,如数据库配置、时区设置等等。

  • urls.py

    定义 Django 的 URL 映射规则,实现 URL Mapper( 或者叫 URL dispatching)。

启动开发服务器

Django 自带了一个轻量级的 Web 服务器,适合于在开发过程中快速测试 Django 代码,而不需要频繁地启动 HTTP 服务器或 FastCGI 服务器。

使用以下命令来启动:

gentoo myblog # python manage.py runserver
Validating models…
0 errors found

Django version 1.0.2 final, using settings ‘myblog.settings’
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

runserver 默认在 127.0.0.1:8000 上监听,如果要使用不同的 ip:port,只需要在 runserver 后加上 ip:port 参数,如:

gentoo myblog # python manage.py runserver 192.168.1.6:8080

关于该命令的具体帮助,可参考上一节中所述,输入以下命令查看:

gentoo myblog # python manage.py help runserver  

启动成功后,用浏览器打开对应的 http://ip:port/,如 http://192.168.1.6:8080/。您应该可以看到以下界面:

 

这就表明我们的开发服务器已经启动,并且正常运行。

从下一节起,我们从一个简单的例子开始,逐步引入 Django 框架的各个组成部分,来帮助大家理解 Django 的 MTV 模型的工作机制。

主要包括:

  • HTTP 请求/响应
  • URL 映射
  • 视图控制
  • 模板系统
  • 数据库模型

下一节 >>>

Django 快速实战入门(三):视图控制

通过一个简单的示例,讲解“HTTP 请求/响应”、“URL 映射”和“视图控制”的工作原理。

— EOF —

10 thoughts on “Django 快速实战入门(二):组建开发环境”

发表评论

电子邮件地址不会被公开。 必填项已用*标注