The Django Book 20中文译本.pdf

上传人:安*** 文档编号:71027865 上传时间:2023-01-31 格式:PDF 页数:268 大小:2.24MB
返回 下载 相关 举报
The Django Book 20中文译本.pdf_第1页
第1页 / 共268页
The Django Book 20中文译本.pdf_第2页
第2页 / 共268页
点击查看更多>>
资源描述

《The Django Book 20中文译本.pdf》由会员分享,可在线阅读,更多相关《The Django Book 20中文译本.pdf(268页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、The Django BookTable of contents2.0,English-ChineseDjango book 2.0 的中文翻译。最近更新-贡献者方便自己也方便大家,敬请积极参与翻译!第一章:介紹Django 完成度 100.00%阅读 翻译第二章:入门 完成度 100.00%阅读 翻译第三章:视图和URL配置 完成度 100.00%阅读 翻译第四章:模版 完成度 100.00%阅读 翻译第五章:模型 完成度 100.00%阅读 翻译第六章:Admin 完成度 100.00%阅读 翻译第七章:表单 完成度 100.00%阅读 翻译第八章:高级视图和URL配置 完成度 100.0

2、0%阅读 翻译第九章:模版高级进阶 完成度 99.74%阅读 翻译第十章:模型高级进阶 完成度 100.00%阅读 翻译第十一章:通用视图 完成度 100.00%阅读 翻译第十二章:部署Django 完成度 100.00%阅读 翻译第十三章:输出非HTML内容 完成度 100.00%阅读 翻译第十四章:会话、用户和注册 完成度 86.16%阅读 翻译第十五章:缓存机制 完成度 100.00%阅读 翻译第十六章:集成的子框架 django.contrib 完成度 99.72%阅读 翻译第十七章:中间件 完成度 95.08%阅读 翻译第十八章:集成已有的数据库和应用 完成度 100.00%阅读 翻

3、译第十九章:国际化 完成度 100.00%阅读 翻译第二十章:安全 完成度 100.00%阅读 翻译本站由VCC使用Django搭建。About|Comment help|Contact us|Errata|Buy the print version on A2010-5-5The Django Bookhttp:/ 2006 Adrian Holovaty and Jacob Kaplan-Moss.This work is licensed under the GNU Free Document License.Hosting graciously provided by Chinese

4、translate hosting by .2010-5-5The Django Bookhttp:/ Django Book目 录|下一章|翻译|About|Comment help|Contact us|Errata|Buy the print version on A第一章:介绍Django本书所讲的是Django:一个可以使Web开发工作愉快并且高效的Web开发框架。使用Django,使你能够以最小的代价构建和维护高质量的Web应用。从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。通过减少重复的代码,Django 使你能够专注于 Web 应

5、用上有 趣的关键性的东西。为了达到这个目标,Django提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。同时,Django 尝试留下一些方法,来让你根据需要在framework之外来开发。本书的目的是将你培养成Django专家。主要侧重于两方面:第一,我们深度解释 Django 到底做了哪些工作以及如何用她构建Web应用;第二,我们将会在适当的地方讨论更高级的概念,并解释如何 在自己的项目中高效的使用这些工具。通过阅读此书,你将学会快速开发功能强大网站的技巧,并且你的代码将会十分 清晰,易于维护。本书的代码清晰,易维护,通

6、过学习,可以快速开发功能强大的网站。框架是什麼?Django 在新一代的 Web框架 中非常出色,为什么这么说呢?为回答该问题,让我们考虑一下不使用框架设计 Python 网页应用程序的情形。贯穿整本书,我们多次展示不使用框架实现网站基本功能的方法,让读者认识到框架开发的方便。(不使用框架,更多情况是没有合适的框架可用。最重要的是,理解实现的来龙去脉会使你成为一个优秀的web开发者。)使用Python开发Web,最简单,原始和直接的办法是使用CGI标准,在1998年这种方式很流行。现在从应用角度解释它是如何工作:首先做一个Python脚本,输出HTML代码,然后保存成.cgi扩展名的文件,通过

7、浏览器访问此文件。就是这样。如下示例,用Python CGI脚本显示数据库中最新出版的10本书:不用关心语法细节;仅仅感觉一下基本实现的方法:#!/usr/bin/env pythonimport MySQLdbprint ContentType:text/htmlnprint Booksprint print Booksprint connection=MySQLdb.connect(user=me,passwd=letmein,db=my_db)cursor=connection.cursor()cursor.execute(SELECT name FROM books ORDER BY

8、pub_date DESC LIMIT 10)for row in cursor.fetchall():print%s%row0print print 432212010-5-5第一章:介紹D 来是一些HTML的起始标签,然后连接数据库并执行一些查询操作,获取最新的十本书。在遍历这些书的同时,生成一个书名的HTML列表项。最后,输出HTML的结束标签并且关闭数据库连接。像这样的一次性的动态页面,从头写起的方法并非一定不好。其中一点:这些代码简单易懂,就算是一个初起步的 开发者都能读明白这16行的Python的代码,而且这些代码从头到尾做了什么都能了解得一清二楚。不需要学习额外 的背景知识,没有

9、额外的代码需要去了解。同样,也易于部署这16行代码,只需要将它保存为一个latestbooks.cgi 的 文件,上传到网络服务器上,通过浏览器访问即可。尽管实现很简单,还是暴露了一些问题和不便的地方。问你自己这几个问题:应用中有多处需要连接数据库会怎样呢?每个独立的CGI脚本,不应该重复写数据库连接的代码。比较实用的办法是写一个共享函数,可被多个代码调用。一个开发人员 确实 需要去关注如何输出Content-Type以及完成所有操作后去关闭数据 库么?此类问题只会降低开发人员的工作效率,增加犯错误的几率。那些初始化和释放 相关的工作应该交给一些通用的框架来完成。如果这样的代码被重用到一个复合

10、的环境中会发生什么?每个页面都分别对应独立的数据库和密码吗?如果一个Web设计师,完全没有Python开发经验,但是又需要重新设计页面的话,又将 发生什么呢?一个字符写错了,可能导致整个应用崩溃。理想的情况是,页面显示的逻辑与从数据库中读取书本记录分隔开,这样 Web设计师的重新设计不会影响到之前的业务逻辑。以上正是Web框架致力于解决的问题。Web框架为应用程序提供了一套程序框架,这样你可以专注于编写清晰、易维护的代码,而无需从头做起。简单来说,这就是Django所能做的。MVC 设计模式让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同。下

11、面就是通过使用Django来完成以上功能的例子:首先,我们分成4个Python的文件,(models.py,views.py,urls.py)和html模板文件(latest_books.html)#models.py(the database tables)from django.db import modelsclass Book(models.Model):name=models.CharField(max_length=50)pub_date=models.DateField()#views.py(the business logic)from django.shortcuts imp

12、ort render_to_responsefrom models import Bookdef latest_books(request):book_list=Book.objects.order_by(pub_date):10 return render_to_response(latest_books.html,book_list:book_list)112010-5-5第一章:介紹D URL configuration)from django.conf.urls.defaults import*import viewsurlpatterns=patterns(,(rlatest/$,v

13、iews.latest_books),)#latest_books.html(the template)BooksBooks%for book in book_list%book.name%endfor%然后,不用关心语法细节;只要用心感觉整体的设计。这里只关注分割后的几个文件:models.py 文件主要用一个 Python 类来描述数据表。称为 模型(model)。运用这个类,你可以通过简单的 Python 的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。views.py文件包含了页面的业务逻辑。latest_books()函数叫做视图。urls.py 指出了

14、什么样的 URL 调用什么的视图。在这个例子中/latest/URL 将会调用 latest_books()这个函数。换句话说,如果你的域名是,任何人浏览网址http:/ 是 html 模板,它描述了这个页面的设计是如何的。使用带基本逻辑声明的模板语言,如%for book in book_list%结合起来,这些部分松散遵循的模式称为模型-视图-控制器(MVC)。简单的说,MVC 是一种软件开发的方法,它把代码的定义和数据访问的方法(模型)与请求逻辑(控制器)还有用户接口(视图)分开来。我们将在第5章更深入地讨论MVC。这种设计模式关键的优势在于各种组件都是 松散结合 的。这样,每个由 Dj

15、ango驱动 的Web应用都有着明确的目的,并且可独立更改而不影响到其它的部分。比如,开发者 更改一个应用程序中的 URL 而不用影响到这个程序底层的实现。设计师可以改变 HTML 页面 的样式而不用接触 Python 代码。数据库管理员可以重新命名数据表并且只需更改一个地方,无需从一大堆文件中进行查找和替换。本书中,每个组件都有它自己的一个章节。比如,第三章涵盖了视图,第四章是模板,而第五章是模型。Django 历史在我们讨论代码之前我们需要先了解一下 Django 的历史。从上面我们注意到:我们将向你展示如何不使用捷径来完成工作,以便能更好的理解捷径的原理 同样,理解Django产生的背景

16、,历史有助于理解Django的实现方式。12010-5-5第一章:介紹D CGI 例子。1.从头开始编写网络应用程序。2.从头编写另一个网络应用程序。3.从第一步中总结(找出其中通用的代码),并运用在第二步中。4.重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码。5.重复 2-4 步骤若干次。6.意识到你发明了一个框架。这正是为什么 Django 建立的原因!Django 是从真实世界的应用中成长起来的,它是由 堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组编写的。它诞生于 2003 年秋天,那时 Lawrence Journal-World 报纸的 程序员

17、 Adrian Holovaty 和Simon Willison 开始用 Python 来编写程序。当时他们的 World Online 小组制作并维护当地的几个新闻站点,并在以新闻界特有的快节奏开发环境中逐渐发展。这些站点包括有 LJW、L 和 KU,记者(或管理层)要求增加的特征或整个程序都能在计划时间内快速的被建立,这些时间通常只有几天 或几个小时。因此,Adrian 和 Simon 开发了一种节省时间的网络程序开发框架,这是在截止时间前能完成程序的唯一途径。2005 年的夏天,当这个框架开发完成时,它已经用来制作了很多个 World Online 的站点。当时 WorldOnline

18、小组中的 Jacob Kaplan-Moss 决定把这个框架发布为一个开源软件。从今往后数年,Django是一个有着数以万计的用户和贡献者,在世界广泛传播的完善开源项目。原来的World Online的两个开发者(Adrian and Jacob)仍然掌握着Django,但是其发展方向受社区团队的影响更大。这些历史都是相关联的,因为她们帮助解释了很重要的两点。第一,Django最可爱的地方。Django诞生于新闻网站的环境中,因此它提供很多了特性(如第6章会说到的管理后台),非常适合内容类的网站,如A,craigslist.org和,这些网站提供动态的,数据库驱动的信息。(不要看到这就感到沮丧

19、,尽管Django擅长于动态内容管理系统,但并不表示Django主要的目的就是用来创建动态内容的网站。某些方面*特别高效*与其他方面*不高效*是有区别的,Django在其他方面也同样高效。)第二,Django的起源造就了它的开源社区的文化。因为Django来自于真实世界中的代码,而不是 来自于一个科研项目或者商业产品,她主要集中力量来解决Web开发中遇到的问题,同样 也是Django的开发者经常遇到的问题。这样,Django每天在现有的基础上进步。框架的开发者对于让开发人员节省时间,编写更加容易维护的程序,同时保证程序运行的效率具有极大的兴趣。无他,开发者动力来源于自己的目标:节省时间,快乐工

20、作。(坦率地讲,他们使用了自己公司的产品。)如何阅读本书在编写本书时,我们努力尝试在可读性和参考性间做一个平衡,当然本书会偏向于可 读性。本书的目标,之前也提过,是要将你培养成一名Django专家,我们相信,最好 的方式就是提供文章和充足的实例,而不是一堆详尽却乏味的关于Django特色的手册。(曾经有人说过,如果仅仅教字母表是无法教会别人说话的。按照这种思路,我们推荐按顺序阅读第 1-12 章。这些章节构成了如何使用 Django 的基础;读过之后,你就可以搭建由 Django 支撑的网站了。1-7章是核心课程,8-11章讲述Django的高级应用,12章讲述部署相关3112010-5-5第

21、一章:介紹D Django 某部分的功能概要时,你偶尔可能会回来翻翻这些资料以及 http:/ 和 for),数据结构(列表,哈希表/字典),变量,类和对象。Web开发经验,正如你所想的,也是非常有帮助的,但是对于阅读本书,并不是必须的。通过本书,我们尽量给缺乏经验的开发人员提供在Web开发中最好的实践。Python所需知识本质上来说,Django 只不过是用 Python 编写的一组类库。用 Django 开发站点就是使用这些类库编写Python 代码。因此,学习 Django 的关键就是学习如何进行 Python 编程并理解 Django 类库的运作方式。如果你有Python开发经验,在学

22、习过程中应该不会有任何问题。基本上,Django的代码并 没有使用一些黑色魔法(例如代码中的欺骗行为,某个实现解释或者理解起来十分困难)。对你来说,学习Django就是学习她的命名规则和API。如果你没有使用 Python 编程的经验,你一定会学到很多东西。它是非常易学易用的。虽然这本书没有包括一个完整的 Python 教程,但也算是一个恰当的介绍了 Python特征和 功能的集锦。当然,我们推荐你读一下官方的 Python 教程,它可 以从 http:/docs.python.org/tut/在线获得。另外我们也推荐 Mark Pilgrims的 书Dive Into Python(http

23、:/www.diveintopython.org/)Django版本支持此书内容对Django 1.1兼容。Django的开发者保证主要版本号向后兼容。这意味着,你用Django 1.1写的应用,可以用于1.2,1.3,1.9等所有以1开头的版本如果Django到了2.0,你的应用可能不再兼容,需要重写,但是,2.0是很遥远的事情。对此,可以参考一下1.0的开发周期,整整3年的时间。(这与Python语言的兼容策略非常像:在python 2.0下写的代码可以在python 2.6下运行,但不一定能在python3.0下运行所以,此书覆盖1.1版本,可以使用很长时间。获取帮助Django的最大的

24、益处是,有一群乐于助人的人在Django社区上。你可以毫无约束的提各种 问题在上面,如:django的安装,app 设计,db 设计,发布。Django邮件列表是很多Django用户提出问题、回答问题的地方。可以通过http:/ 来免费注册。如果Django用户遇到棘手的问题,希望得到及时地回复,可以使用Django IRC channel。在FreenodeIRC network加入#django112010-5-5第一章:介紹D 录|下一章|翻译|Copyright 2006 Adrian Holovaty and Jacob Kaplan-Moss.This work is licens

25、ed under the GNU Free Document License.Hosting graciously provided by Chinese translate hosting by .下一章在 下一章,我们将开始使用Django,内容将包括安装和初始化配置。12010-5-5第一章:介紹D Django Book|上一章|目 录|下一章|翻译|About|Comment help|Contact us|Errata|Buy the print version on A第二章:入门由于现代Web开发环境由多个部件组成,安装Django需要几个步骤。这一章,我们将演示如何安装框架以

26、及一些依赖关系。因为Django就是纯Python代码,它可以运行在任何Python可以运行的环境,甚至是手机上!但是这章只提及Django安装的通用脚本。我们假设你把它安装在桌面/笔记本电脑或服务器。往后,在第12章,我们将讨论如何部署Django到一个生产站点。Python 安装Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安装了Python。Python版本核心Django框架可以工作在2.3至2.6(包括2.3和2.6)之间的任何Python版本。Django的可选GIS(地理信息系统)支持需要Python 2.4到2.6。如果你不确定要安装Python的什么

27、版本,并且你完全拿不定主意的话,那就选2.x系列的最新版本吧。版本2.6。虽然Django在2.3至2.6版之间的任意Python版本下都一样运行得很好,但是新版本的Python提供了一些你可能比较想应用在你的程序里的,更加丰富和额外的语言特性。另外,某些你可能要用到的Django第三方插件会要求比Python 2.3更新的版本,所以使用比较新的Python版本会让你有更多选择。Django和 Python 3.0在写作本书的时候,Python3.0已经发布,但Django暂时还不支持。Python3.0这个语言本身引入了大量不向后兼容的改变,因此,我们预期大多数主要的Python库和框架将花

28、几年才能衔接,包括Django。如果你是个Python新手并且正迷茫于到底是学习Python 2.x还是Python 3.x的话,我们建议你选择Python2.x。安装如果使用的是 Linux 或 Mac OS X,系统可能已经预装了 Python。在命令提示符下(或 OS X 的终端中)输入python,如果看到如下信息,说明 Python 已经装好了:在命令行窗口中输入python(或是在OS X的程序/工具/终端中)。如果你看到这样的信息,说明 python 已经安装好了.Python 2.4.1(#2,Mar 31 2005,00:05:10)GCC 3.3 20030304(Appl

29、e Computer,Inc.build 1666)on darwinType help,copyright,credits or license for more information.否则,你需要下载并安装Python.它既快速又方便,而详细说明可参考http:/www.python.org/download/安装 Django任何时候,都有两个不同版本的Django供您选择。最新的官方发行版和有风险的主干版本。安装的版本取决42112010-5-5第二章 入门 install,像操作大多数Python库一样。以下是如何在Unix系统上安装的方法:1.tar xzvf Django*.t

30、ar.gz。2.cd Django*。3.sudo python setup.py install。Windows系统上,推荐使用7-Zip(http:/ Shell(命令提示符),然后在名字以Django开始的目录里执行如下命令:python setup.py install如果你很好奇:Django将被安装到你的Python安装目录 的site-package 目录(Python从该目录寻找第三方库)。通常情况下,这个目录在/usr/lib/python2.4/sitepackages。安装Trunk版本最新最好的django的开发版本称为trunk,可以从django的subversio

31、n处获得。如果你想尝鲜,或者想为django贡献代码,那么你应当安装这个版本。Subversion 是一种与 CVS 类似的免费开源版本控制系统,Django 开发团队使用它管理 Django 代码库的更新。你可以使用 Subversion 客户端获取最新的 Django 源代码,并可任何时候使用 local checkout 更新本地 Django 代码的版本,以获取 Django 开发者所做的最近更新和改进。请记住,即使是使用trunk版本,也是有保障的。因为很多django的开发者在正式网站上就是用的trunk版本,他们会保证trunk版本的稳定性。遵循以下步骤以获取最新的 Django

32、 主流代码:确保安装了 Subversion 客户端。可以从 http:/subversion.tigris.org/免费下载该软件,并从http:/svnbook.red- OS X 10.5或者更新的版本,你很走运,Subversion应该就可以安装Django。你可以在终端上输入svn version来验证。111212010-5-5第二章 入门 svn co http:/ djtrunk 命令查看主体代码。找到你的python的site-packages目录。一般为/usr/lib/python2.4/site-packages,如果你不确定,可以输入如下命令:python c imp

33、ort sys,pprint;pprint.pprint(sys.path)上面的结果会包含site-packages的目录在site-packages目录下,创建一个文件django.pth,编辑这个文件,包含djtrunk目录的全路径 利润,此文件包含如下行:/home/me/code/djtrunk1.将 djtrunk/django/bin 加入系统变量 PATH 中。该目录中包含一些像 djangoadmin.py 之类的管理工具。此目录包含管理工具,例如:django-admin.py提示:如果之前没有接触过.pth 文件,你可以从 http:/ Subversion 完成下载并执

34、行了前述步骤后,就没有必要再执行 python setup.py install 了,你刚才已经手动完成了安装!由于 Django 主干代码的更新经常包括 bug 修正和特性添加,如果真的着迷的话,你可能每隔一小段时间就想更新一次。在 djtrunk 目录下运行 svn update 命令即可进行更新。当你使用这个命令时,Subversion 会联络http:/,判断代码是否有更新,然后把上次更新以来的所有变动应用到本地代码。就这么简单。最后,如果你使用trunk,你要知道使用的是哪个trunk版本。如果你去社区寻求帮助,或是为Django框架提供改进,知道你使用的版本号是非常重要的。因此,当

35、你到社区去求助,或者为 django 提供改进意见的时候,请时刻记住说明你正在使用的 django 的版本号。如何知道你正在使用的 django 的版本号呢?进入djtrunk 目录,然后键入 svn info,在输出信息中查看 Revision:(版本:)后跟的数字。Django在每次更新后,版本号都是递增的,无论是修复Bug、增加特性、改进文档或者是其他。在一些Django社区中,版本号甚至成为了一种荣誉的象征,我从写上非常低的版本号开始就已经使用Djano了。测试Django安装让我们花点时间去测试 Django 是否安装成功,并工作良好。同时也可以了解到一些明确的安装后的反馈信息。在S

36、hell中,更换到另外一个目录(不是包含Django的目录),然后输入python来打开Python的交互解释器。如果安装成功,你应该可以导入django模块了:import django django.VERSION(1,1,0,final,1)交互解释器示例Python 交互解释器是命令行窗口的程序,通过它可以交互式地编写 Python 程序。要启动它只需运行 python命令。1112010-5-5第二章 入门 This is a.string that spans.three lines.This is astring that spansthree lines.def my_func

37、tion(value):.print value my_function(hello)hello这三个在新行开始插入的点,是Python Shell自行加入的,不属于我们的输入。但是包含它们是为了追求解释器的正确输出。如果你拷贝我们的示例去运行,千万别拷贝这些点。安装数据库这会儿,你可以使用django写web应用了,因为django只要求python正确安装后就可以跑起来了。不过,当你想开发一个数据库驱动的web站点时,你应当需要配置一个数据库服务器。如果你只想玩一下,可以不配置数据库,直接跳到 开始一个project 部分去,不过你要注意本书的例子都是假设你配置好了一个正常工作的数据库。D

38、jango支持四种数据库:PostgreSQL(http:/www.postgresql.org/)SQLite 3(http:/www.sqlite.org/)MySQL(http:/ 入门 Django 中使用 PostgreSQL使用 PostgreSQL 的话,你需要从 http:/ psycopg 这个开发包。我们建议使用psycopg2,因为它是新的,开发比较积极,且更容易安装。留意你所用的是 版本 1 还是2,稍后你会需要这项信息。如果在 Windows 平台上使用 PostgreSQL,可以从 http:/ psycopg 开发包的二进制文件。如果你在用Linux,检查你的发行

39、版的软件包管理系统是否提供了一套叫做python-psycopg2,psycopg2-python,python-postgresql这类名字的包。在 Django 中使用 SQLite 3如果你正在使用Python 2.5版本或者更高,那么你很幸运:不要求安装特定的数据库,因为Python支持和SQLite进行通信。向前跳到下一节。如果你用的是Python2.4或更早的版本,你需要 SQLite 3而不是版本2,这个可从http:/ Windows 平台上,可以跳过单独的 SQLite 二进制包安装工作,因为它们已被静态链接到 pysqlite 二进制开发包中。如果你在用Linux,检查你的

40、发行版的软件包管理系统是否提供了一套叫做python-sqlite3,sqlite-python,pysqlite这类名字的包。在 Django 中使用 MySQLdjango要求MySQL4.0或更高的版本。3.X 版本不支持嵌套子查询和一些其它相当标准的SQL语句。你还需要从 http:/ MySQLdb。如果你正在使用Linux,检查下你系统的包管理器是否提供了叫做python-mysql,python-mysqldb,myspl-python或者相似的包。在Django中使用Oracle数据库django需要Oracle9i或更高版本。如果你用Oracle,你需要安装cx_Oracle

41、库,可以从http:/cx- Django正如之前提及过的,Django 并不是非得要数据库才可以运行。如果只用它提供一些不涉及数据库的动态页面服务,也同样可以完美运行。尽管如此,还是要记住:Django 所捆绑的一些附加工具 一定 需要数据库,因此如果选择不使用数据库,你将不能使用那些功能。212010-5-5第二章 入门 是 Django 实例的一系列设置的集合,它包括数据库配置、Django 特定选项以及应用程序的特定设置。如果第一次使用 Django,必须进行一些初始化设置工作。新建一个工作目录,例如/home/username/djcode/,然后进入该目录。这个目录应该放哪儿?有过

42、 PHP 编程背景的话,你可能习惯于将代码都放在 Web 服务器的文档根目录(例如/var/www 这样的地方)。而在 Django 中,把任何Python代码和web server的文档根(root)放在一起并不是一个好主意。因为这样做有使人能通过网路看到你原代码的风险.那就太糟了。把代码放置在文档根目录 之外 的某些目录中。转到你创建的目录,运行命令djangoadmin.py startproject mysite。这样会在你的当前目录下创建一个目录。mysite注意如果用的是 setup.py 工具安装的 Django,djangoadmin.py 应该已被加入了系统路径中。如果你使用

43、一个trunk版本,你会在 djtrunk/django/bin 下发现 djangoadmin.py。你将来会常用到djangoadmin.py,考虑把它加到你的系统路径中去比较好。在Unix中,你也可以用来自/usr/local/bin 的符号连接,用一个命令,诸如sudo ln s/path/to/django/bin/djangoadmin.py/usr/local/bin/djangoadmin.py.在Windows中,你需要修改你的 PATH 环境变量.如果你的django是从linux发行版中安装的,那么,常会被djangoadmin.py替代。djangoadmin如果在运行

44、时,你看到权限拒绝的提示,你应当修改这个文件的权限。djangoadmin.py startproject 为此,键入 cd/usr/local/bin转到djangoadmin.py所在的目录,运行命令chmod+x djangoadmin.pystartproject 命令创建一个目录,包含4个文件:mysite/_init_.py manage.py settings.py urls.py文件如下:_init_.py:让 Python 把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。manage.py:一种命令行工具,允许你以多种方式与该 Django

45、 项目进行交互。键入python manage.py help,看一下它能做什么。你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。1222010-5-5第二章 入门 Django 项目的设置或配置。查看并理解这个文件中可用的设置类型及其默认值。urls.py:Django项目的URL设置。可视其为你的django网站的目录。目前,它是空的。尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。运行开发服务器为了安装后更多的体验,让我们运行一下django开发服务器看看我们的准系统。django开发服务是可用在开发期间的,一个内建的,轻量的web服务。我们提供这个服务器

46、是为了让你快速开发站点,也就是说在准备发布产品之前,无需进行产品级 Web 服务器(比如 Apache)的配置工作。开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。如果你还没启动服务器的话,请切换到你的项目目录里(cd mysite),运行下面的命令:python manage.py runserver你会看到些像这样的Validating models.0 errors found.Django version 1.0,using settings mysite.settingsDevelopment server is running at http:/127.

47、0.0.1:8000/Quit the server with CONTROLC.这将会在端口8000启动一个本地服务器,并且只能从你的这台电脑连接和访问。既然服务器已经运行起来了,现在用网页浏览器访问 http:/127.0.0.1:8000/。你应该可以看到一个令人赏心悦目的淡蓝色Django欢迎页面。它开始工作了。在进一步学习之前,一个重要的,关于开发网络服务器的提示很值得一说。虽然 django 自带的这个 web 服务器对于开发很方便,但是,千万不要在正式的应用布署环境中使用它。在同一时间,该服务器只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。发布站点前,请参阅第 20

48、 章了解如何部署 Django。更改这个 Development Server 的主机地址或端口默认情况下,runserver 命令在 8000 端口启动开发服务器,且仅监听本地连接。要想要更改服务器端口的话,可将端口作为命令行参数传入:python manage.py runserver 8080通过指定一个 IP 地址,你可以告诉服务器允许非本地连接访问。如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。0.0.0.0 这个 IP 地址,告诉服务器去侦听任意的网络接口。python manage.py runserver 0.0.0.0:8000完成这些设置后,你本地网络中的其它

49、计算机就可以在浏览器中访问你的 IP 地址了。比如:http:/192.168.1.103:8000/.(注意,你将需要校阅一下你的网络配置来决定你在本地网络中的IP 地址)Unix用户可以在命令提示符中输入ifconfig来获取以上信息。使用Windows的用户,请尝试使用 ipconfig 命令。接下来做什么?2212010-5-5第二章 入门 录|下一章|翻译|Copyright 2006 Adrian Holovaty and Jacob Kaplan-Moss.This work is licensed under the GNU Free Document License.Host

50、ing graciously provided by Chinese translate hosting by .好了,你已经安装好所需的一切,并且开发服务器也运行起来了,你已经准备好继续 学习基础知识用Django伺候网頁 这一章的内容了。12010-5-5第二章 入门 Django Book|上一章|目 录|下一章|翻译|About|Comment help|Contact us|Errata|Buy the print version on A正如我们的第一个目标,创建一个网页,用来输出这个著名的示例信息:第三章 视图和URL配置前一章中,我们解释了如何建立一个 Django 项目并启动

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com