建立数据库
在这一点,你可以使用Django为Web应用作一个好的开始,因为Django唯一的严格的先决条件是安装了Python。然而,有些时候你将需要开发数据库驱动的Web网张,在这种情况下,你需要配置数据库服务器。
如果你仅仅想要以Python作为消遣,请跳过“开始工程”这一部分——但是记住这本书的所有例子都假设你已经创建了数据库。
Django支持四种数据库引擎:
- PostgreSQL (http://www.postgresql.org/)
- SQLite 3 (http://www.sqlite.com/)
- MySQL (http://www.mysql.com/)
- Oracle (http://www.oracle.com/)
通常情况下,所有的引擎使用核心Django框架都是一样的工作机制。(显著的异常Django可选的GIS支持,使用PostgreSQL比其它的数据库功能会强大的多。)如果你没有被绑定到任何老系统中并且可以自由的选择后台数据库,我们推荐使用PostgreSQL,在消耗、特征、速度和稳定性方面有良好的平衡。
按照两个步骤创建数据库:
- 首先安装和配置服务器。这一步超出了本书的范围,但是四种后台数据库在它们的站点都有丰富的文档。(如果你共享一台主机,也许有人已经为你建好了数据库)
- 然后,为你的后台数据库安装Python库。这是第三方的代码,它允许Python与数据库连接。 以下的内容,我们概括了每个数据库的需求。
如果你仅仅是使用Django消遣不想安装数据库服务器,请考虑使用SQLite。在支持的数据库列表中SQLite是独特的,如果你使用Python2.5或者更高的版本它不要求上面的步骤。它仅仅读和写它的数据到文件系统单个文件中,并且Python2.5以及更高的版本对它提供了内置支持。
在Windows上,可能无法取得数据库驱动。如果你是急于加入的,我们推荐你使用Python2.5以及对SQLite的内置支持。
使用PostgreSQL
如果你正在使用PostgreSQL,你将会需要安装psycopg或者psycopg2包,它可以从http://www.djangoproject.com/r/python-pgsql。我们推荐使用psycopg2,作为新的版本是容易安装的。总之,注意你使用的版本是1还是2;稍后你会需要这个信息。
如果你正在Windows上使用PostgreSQL,你能从http://www.djangoproject.com/r/python-pgsql/windows/ 上找到预编译的二进制文件psycopg。
如果你是在Linux上,检查你的分布式包管理系统是否提供了叫做"python-psycopg2","psycopg2-python", "python-postgresql"或者与之相似的内容。
使用SQLite
如果你正在使用2.5或者更高的版本,你是幸运的:没有特定的数据库要求安装,因为Python装有SQLite。直接跳到下一部分。
……
使用MySQL
Django要求使用MySQL 4.0及其以上版本。版本3.0不支持嵌套子查询和相当部分的标准查询。
你也需要从http://www.djangoproject.com/r/python-mysql/安装MySQLdb包。
如果你是使用Linux,检查你的版本包管理系统提供了叫做“python-mysql”,"python-mysqldb","mysql-python"或者相似的包。
使用Oracle
Django使用Oracle数据库服务器9i版本或者更高的版本。
如果你使用Oracle,你需要从http://cx-oracle.sourceforge.net/安装cx_Oracle库。使用4.3.1或者更高的版本,但是避免使用版本5.0由于5.0版本的驱动有BUG。
没有数据库的Django
如前提及的,Django并不需要数据库。如果你仅想要使用动态网页而不点击数据库,那是非常好的。
记住,一些与Django绑定的工具要求使用数据库,因此如果你选择不使用数据库,你将会忽略这些特征。(贯穿全书,我们都强调了这些特征)
启动工程
一旦你安装了Python,Django和可选的数据库服务器/库,你就能通过创建工程在开发Django应用中迈出第一步。
针对一个Django实例,工程就是配置的集合,包括数据库配置,Django规范的集合以及应用规范设置。
如果这是你第一次使用Django,你将会需要关注一下初始启动。创建新的目录开始工作,大概像这样一个目录 /home/username/djcode/ 。
注意:这个目录应该放在什么位置?
如果你使用PHP,你大概习惯于将代码放在Web服务器的文档根目录下(如:/var/www)。使用Django,你不需要做这些。将任何Python代码放入你的Web服务器的文档根目录并不是好的注意,因为这样做的话,你会存在一种可能的风险,人们将能通过Web看到你的源文件。那是相当不好的。
放置你的代码到文档根目录之外的一些目录。
进入你创建的目录,并且运行命令 django-admin.py startproject mysite 。这将会在你的当前目录创建一个名叫mysite的目录。
注意:如果你通过setup.py安装了Django,django-admin.py应该是在你的系统路径上。如果你在使用trunk,你会在djtrunk/django/bin目录中找到django.py。因为你将会经常使用django-admin.py,考虑增加它到你的系统路径。在Unix上,使用命令 sudo ln -s /path/to/django/bin/django-admin.py /usr/local/bin/django-admin.py 创建软连接做到这些。在Windows上,你将会需要更新的PATH环境变量。
如果你从包版本安装Django为你的Linux发布版本,你也许需要要调用django-admin.py而不是django-admin。
当运行django-admin.py startproject时如果你看到了“permission denied”,你会需要改变文件的权限。进入django-admin.py的安装目录并且运行命令 chmod +x django-admin.py。
命令startproject创建包含4个文件的目录:
mysite/
__init__.py
manage.py
settings.py
urls.py
文件介绍如下:
- __init__.py:对Python来说,必需的文件,Python会将mysite目录作为一个包(例如Python的组模块)。它是一个空文件,通常不会给它增加任何的内容。
- manage.py:命令行工具。它让你可以使用各种方法同Django工程交互。输入python manage.py help 或得你想要做的事情。你绝对不需要编辑它;它出现在目录中纯粹是为了便利。
- setting.py:Django工程的Setting/configuration。看这个文件的内容,可以了解配置的含义
- urls.py:Django工程的URL。将它作为Django站点的“table of contents”。此刻,它是空的。
尽管它们的比较小,但是这些文件已经构成了可工作的Django应用。
运行开发服务器
为了取得安装后更多的积极反馈,让我们运行Django开发服务器去观察准应用的行为。
Django开发服务器(也可以在命令行启动它之后调用“runserver”)是内置的,能在开发站点的过程中使用的轻量级web服务器。它包括在Django中因此你能快速开发站点,直到你为生产做好准备时,不需要配置你的生产服务器(例如,Apache)。开发服务器观察监控你的代码并且自动重载它,不需要重新启动就可以改变你的代码。
如果你至今没有启动服务器,进入工程目录(cd mysite),并且运行这条命令:
python manage.py runserver
你会看到像这样的打印:
Validating models...
0 errors found.
Django version 1.0, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
在8000端口启动服务器,仅能从你的电脑上访问连接。现在它是运行的,使用Web浏览器访问http://127.0.0.1:8000。你将会看到“Welcome to Django”页面。工作了!
最后,在继续之前关于开发服务期的重要提示需要提及。尽管这个服务器对开发是便利的,抵制任何想要将它集成到生产环境的诱惑。开发服务器能在一定时间内可信赖的处理单一请求,但是它没有经过任何的安全认证。启动你站点的时间,请阅读12章——“怎样部署Django”获取更多的信息。
注意:改变开发服务器主机和端口
默认情况下,命令runserver在端口8000启动服务器,仅仅监听本地连接。如果你想要改变服务器端口,适用命令行参数传递它:
python manage.py runserver 8080
通过制定IP地址,你能告诉服务器允许非本地连接。如果你想要同你们组的其他成员共享开发站点这尤其是帮助的。IP地址0.0.0.0告诉服务器舰艇任意网络接口:
python manage.py runserver 0.0.0.0:8000
当你已经做了这些的话,局域网内另外的电脑将能在Web浏览器通过你的IP地址访问Django站点,例如:http://192.168.1.103:8000/ 。(注意你将需要检查网络设置确认你在局域网内的IP地址)。Unix用户,尝试在命令行提示符运行"ifconfig"取得信息。Windows用户,尝试“ipconfig”)
下一章
现在你已经安装了每件事情,并且开发服务器在运行,你准备去了解使用Django的基本Web页面。
未完待续……
分享到:
相关推荐
在学习《The Django Book》的过程中,你可以掌握以下几个核心知识点: 1. **Django基础**:了解Django的基本架构,包括模型(Models)、视图(Views)、模板(Templates)和URL调度器(URLconf),这四者构成了...
Django是一个强大的Python Web开发框架,它采用了模型-...通过学习《The Django Book 2.0中文版》,开发者可以深入理解Django的每一个角落,从基本的Web应用构建到高级的框架使用,最终成为一名熟练的Django开发者。
《Django Book 2.0中文译本》是关于Django框架的一本全面教程,它为初学者提供了深入了解和学习Python Web开发的宝贵资源。Django是一个基于Python的开源Web框架,它遵循“DRY”(Don't Repeat Yourself)原则,旨在...
文件解压缩后,用户将获得一个名为"The_Django_Book2[1].0-20100505_djangobook.py3k.cn.pdf"的PDF文档,便于阅读和学习。 Django是一个高效、强大且灵活的开源Web框架,它遵循“干(DRY)”原则(Don't Repeat ...
《The Django Book》是一本关于Python Web框架Django的指南书籍,涵盖从基础到高级的各种知识点,适合希望系统学习Django的开发人员。Django是一个开源的、基于MVC(模型-视图-控制器)设计模式的Web应用框架,它...
《Django Book》是一部深入探讨Django Web框架的权威指南,专为那些希望利用Python高效构建Web应用的开发者而设计。Django是一个开源的、基于Python的Web开发框架,它强调了可重用性和“干”(Don't Repeat Yourself...
《Django Book 2.0中文译本》是Python开发者学习Django框架的重要参考资料,它提供了全面且深入的教程,帮助读者理解并掌握这个强大的Web开发框架。Django以其高效、安全和可扩展性闻名,是许多大型网站和应用程序...
在本压缩包中包含的"Djangobook-1-0(完整版).pdf"文件,正是这本书的完整PDF版本,为读者提供了全面学习Django的资源。 Django是Python编程语言中的一款高级Web框架,它遵循“DRY”(Don't Repeat Yourself)原则,...
《Django Book 1.0中文版》是针对Python Web开发框架Django的一份详尽教程,它提供了中英文双语对照,便于学习者深入理解Django的核心概念和功能。Django作为一款强大的、高性能的开源框架,因其高效、安全且易于...
以上只是《The Django Book中文版》中部分关键知识点的概述,书中还涵盖了错误处理、测试、国际化、缓存、邮件发送等多个方面,为读者提供了全面的Django学习资源。通过深入阅读和实践,开发者可以熟练掌握这个强大...
根据提供的文件信息,以下是对《The Django Book(第一版 中文高清版)》的内容知识点的详细解读: 首先,《The Django Book(第一版 中文高清版)》是一本全面介绍Python Web框架Django的入门书籍。这本书详细讲解了...
The Django Book 2.0提供了全面的教程,涵盖了以下主题: 1. 安装与设置:如何在本地环境安装Django,配置数据库,以及创建项目和应用。 2. 模型(Models):定义数据结构,包括字段类型、数据验证,以及与数据库...
通过"The Django Book 2.0中文版"的学习,读者可以全面了解Django的各个方面,并能够运用这些知识创建复杂的Web应用。同时,关注提供的更新链接和社区资源,可以保持对Django最新动态的了解,不断提升自己的技能。
### 关于《The Django Book》的关键知识点 #### 第一章:Django简介 - **什么是Web框架**:简而言之,Web框架是一套为开发者提供快速构建网站功能的基础架构。它通常包括一系列预设的功能和服务,如路由管理、...