首页>参考读物>计算机科学与技术>综合

Django Web开发指南
作者 : Jeff Forcier Paul Bissex Wesley Chun
译者 : 徐旭铭
出版日期 : 2009-05-11
ISBN : 7-111-27028-7
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 276
开本 : 16开
原书名 : Python Web Development with Django
原出版社: Pearson Nducation
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

简单稳定的Python框架Django可以让你用很少的代码就能构建出强大的Web解决方案来。在本书中,三位Django/Python大师为你讲解了使用新的Django 1.0版各种主要特性所需要的一切技术、工具以及概念。
  作者在教授Django时讲解得十分详细,并且提供了大量的范例代码和图示并逐字逐句地解释。你将会学习到Django是怎样充分利用Python的开发速度和灵活性来帮助你解决各种各样Web开发上的问题,同时本书还介绍了一些Django最佳实践的独门秘笈。从第一个Django应用开始,你将会构建各种不同的应用程序,从只需要几分钟就能完成的例子到一个真实世界中完整的项目。
  本书包括了:
  ●一个简单的Web log(blog)。
  ●一个在线Gallery。
  ●一个简单的内容管理系统(CMS)。
  ●一个使用Ajax技术的live blogger。
  ●一个在线源码分享/语法高亮工具。
  ●如何在Google App Engine上运行Django应用程序。
  本书从介绍Python、Django和Web开发的概念开始,然后是Django框架,深入理解它的主要组件(模型model、视图view、模板template),以及如何把它们组合在一起组成一个完整的Web应用。在讨论了4个独立的Django应用之后,再转入高级话题,包括缓存、扩展模板系统、聚合(RSS)、自定义admin以及测试。另外,本书还包括很多非常有价值的附录:命令行基础,安装运行Django,实用Django开发工具,发现、评估、使用Django应用程序,在Google App Engine上使用Django,参与Django项目。
作者简介
  Jeff Forcier现在是Digital Pulp公司的一名系统管理员和Web后台工程师。他在PHP/Python的Web开发上有7年的经验,自2005年Django问世起他就在工作和业余时间里使用这个框架。
  Paul Bissex很早就开始使用Django,并且开发维护着Django社区的在线着色网站dpaste.com。从1996年起,他就开始主持The Well(well.com),Wired杂志称之为“全世界最有影响力的在线社区”。
  Wesley Chun是Prentice Hall的畅销书《Core Python Programming》(corepython.com)、配套的视频教程《Python Fundamentals》(LiveLessons DVD)的作者,以及本书(withdjango.com)的合著者。

图书特色

图书前言

欢迎使用Django
  欢迎来到Django的世界,很高兴能和你一起进行这趟旅程。你会发现有了这个强大的Web框架,做每件事情都变得便捷起来—从设计开发新应用到不用大刀阔斧地修改代码就能为现有代码提供新的特性和功能。
  关于本书
  市面上已经有了一些讲解Django的书籍,但是本书的特别之处在于它着重介绍的三个方面:Django基础、各种示例以及Django的进阶内容。我们希望写出一本关于这个主题最完整的教程,无论你的背景是什么都能读懂它。同时,你还能完整地了解这个框架以及它的能力。
  章节指引
  图P.1根据你对Python和Django的了解程度给出了不同的起点。当然,我们的建议是最好重头读到尾,不过如果时间比较紧张的话,这张图或许能提供给你一些帮助。不管你的水平如何,你都可以去阅读代码,毕竟这是学习了解应用程序最好的方法之一。此外我们还提供了一份详细的章节指引来帮助你决定从哪里开始阅读。
  第一部分:入门
  第一部分向Django以及Python的新用户介绍了基本的内容,不过即使是有经验的读者,我们也推荐您读一下第3章,“起始”。
  第1章,Django Python实战
  这一章为那些不了解Python的读者做了一下介绍。本章不仅展示了基本语法,还进一步深入介绍了Python的内存模型、数据类型,特别是在Django里大量使用的结构。
  第2章,Django速成:构建一个Blog
  这一章是为那些希望跳过Python介绍,直接在15~20分钟完成一个Django应用的读者准备的。本章完美地展示了这个框架的强大能力。
  第3章,起始
  对那些更没耐性的读者,这一章介绍了开发Web应用基础的方方面面(对新手和老鸟都有益)。之后,我们会讲解这些概念是怎样和Django结合起来的、Django的设计哲学以及它独立于其他Web应用框架的魅力所在。
  第二部分:深入Django
  第二部分覆盖了框架所有基本组成部分。为第三部分中的例子打下了基础。
  图P.1  根据你的Python以及Django经验所建议的阅读指引
  第4章,定义和使用模型
  在第4章里,我们将学习如何定义和使用数据模型(model),以及Django里对象关系映射(ORM)的基础,包括从简单的值到复杂的关系。
  第5章,URL、HTTP机制和视图
  这一章详细介绍了Django处理URL和HTTP协议的方法,这包括中间件层,以及如何使用Django简便快捷的通用视图(view)等。另外还介绍了怎样自定义或者重新写一个视图。
  第6章,模板和表单处理
  第6章介绍了框架最后一个主要的部分,Django的模板语言和它处理表单的机制。这包含了向用户显示数据以及从用户那里获取数据。
  第三部分:Django应用实例
  在第三部分里,我们将创建4个不同的应用,每一个都展示了Django开发中不同的部分和组件。它们将介绍一些新构想,并且扩展在第一部分和第二部分里讲解的概念。
  第7章,Photo Gallery
  在第7章里,我们将学习如何在你的URL结构上应用“不要重复自己”(DRY)的原则,以及创建一个包含图片预览的简单的照片浏览应用程序。
  第8章,内容管理系统
  第8章包含了两个创建CMS类系统的方法,还介绍了一些用户贡献的第三方Django应用的使用方法。
  第9章,Liveblog
  第9章编写了一个“liveblog”—这个站点使用了一些高级JavaScript技术。它作为一个应用了Ajax技术的Django项目,展示了使用任何Ajax工具包都是非常简单的一件事情。
  第10章,Pastebin
  在第10章里,我们将通过学习创建一个几乎没有任何自定义逻辑的pastebin(在线着色工具)来了解Django通用视图的力量。
  第四部分:高级Django技术和特性
  第四部分主要介绍了自定义Django的admin应用以及通过编写命令行脚本来和Django应用交互等高阶内容。
  第11章,高级Django编程
  第11章介绍了一些关于改进代码的话题,比如RSS生成、扩展模板语言,以及如何更好地使用Django的admin应用。
  第12章,高级Django部署
  在第12章里,我们将学习到一些部署Django应用的技巧,怎样在Django项目代码之外和应用程序一起工作,比如命令行脚本、cron、测试和数据导入等。
  附录
  附录部分集合了一些和本书有关但不足以成章的内容。学习基本的UNIX命令、Django安装和部署策略、开发工具等。
  附录A,命令行基础
  附录A介绍了基本的UNIX命令行。如果你从来没接触过的话,这个附录将对你非常有用。
  附录B,安装运行Django
  在附录B里,我们将学习安装所有运行Django所需的必要组件,包括各种可能的数据库和Web服务器,以及一些特定的部署策略的小技巧。
  附录C,实用Django开发工具
  附录C简要介绍了一些你可能熟悉也可能不熟悉的开发工具,比如代码控制、编辑器等。
  附录D,发现、评估、使用Django应用程序
  出色的程序员写代码,但是伟大的程序员重用代码!在附录D中,我们来分享一些关于到哪里以及如何寻找可重用的Django应用的经验。
  附录E,在Google App Engine上使用Django
  附录E从一个独特的视角出发,考察了Google新的App Engine如何使用Django,以及学习如何把你的Django应用放到App Engine框架上去运行。
  附录F,参与Django项目
  附录F讨论了如何向Django项目贡献代码并且成为社区的一份子。
  编写体例
  在本书中,我们使用粗体来介绍新的和重要的术语,用斜体来表示强调,http://links/表示URL,用等宽字符来描述Python变量名和命令行命令等。如果有多行的代码和命令,则把它们包含在等宽字符的块里,像这样:
  >>> print "This is Python!"
  This is Python!
  在撰写这本书和示例应用期间,我们用到了所有三个主要的平台—Mac OS X、Linux和Windows。另外,我们还测试了所有主要的浏览器(虽然可能没有在书里的图中显示出来),包括Firefox、Safari、Opera和Internet Explorer。
  本书资源
  你可以通过authors@withdjango.com来和作者联系。我们的网站http://withdjango.com 包含了大量辅助的资料,本书也在很多地方有所提及。

封底文字

简单稳定的Python框架Django可以让你用很少的代码就能构建出强大的Web解决方案来。在本书中,三位Django/Python大师为你讲解了使用新的Django 1.0版各种主要特性所需要的一切技术、工具以及概念。 作者在教授Django时讲解得十分详细,并且提供了大量的范例代码和图示并逐字逐句地解释。你将会学习到Django是怎样充分利用Python的开发速度和灵活性来帮助你解决各种各样Web开发上的问题,同时本书还介绍了一些Django最佳实践的独门秘笈。从第一个Django应用开始,你将会构建各种不同的应用程序,从只需要几分钟就能完成的例子到一个真实世界中完整的项目。 本书包括了: ●一个简单的Web log(blog)。 ●一个在线Gallery。 ●一个简单的内容管理系统(CMS)。 ●一个使用Ajax技术的live blogger。 ●一个在线源码分享/语法高亮工具。 ●如何在Google App Engine上运行Django应用程序。 本书从介绍Python、Django和Web开发的概念开始,然后是Django框架,深入理解它的主要组件(模型model、视图view、模板template),以及如何把它们组合在一起组成一个完整的Web应用。在讨论了4个独立的Django应用之后,再转入高级话题,包括缓存、扩展模板系统、聚合(RSS)、自定义admin以及测试。另外,本书还包括很多非常有价值的附录:命令行基础,安装运行Django,实用Django开发工具,发现、评估、使用Django应用程序,在Google App Engine上使用Django,参与Django项目。 作者简介 Jeff Forcier现在是Digital Pulp公司的一名系统管理员和Web后台工程师。他在PHP/Python的Web开发上有7年的经验,自2005年Django问世起他就在工作和业余时间里使用这个框架。 Paul Bissex很早就开始使用Django,并且开发维护着Django社区的在线着色网站dpaste.com。从1996年起,他就开始主持The Well(well.com),Wired杂志称之为“全世界最有影响力的在线社区”。 Wesley Chun是Prentice Hall的畅销书《Core Python Programming》(corepython.com)、配套的视频教程《Python Fundamentals》(LiveLessons DVD)的作者,以及本书(withdjango.com)的合著者。

作者简介

Jeff Forcier Paul Bissex Wesley Chun:暂无简介

译者简介

徐旭铭:暂无简介

译者序

计算机行业真是一个很有意思的行业,它每天都发明无数新名词却又拒绝它们进入生产领域。一项技术往往需要十数年的成长才会被业界慢慢接受,而其中的大部分还来不及成浪就已死在沙滩上了。Java当初熬了快十年才火起来,C++即使借了C的光也是多年媳妇熬成婆。Python比Java发明的更早,早期和Perl抢饭吃,虽有Zope/Plone这样出色的作品,依旧难逃曲高和寡的命运。
  随着Web 2.0的改革号角吹响,开发人员们开始意识到,轻型的框架才是可持续发展的硬道理。一时间,小到只有一个文件的web.py,大到像Quixote等能支持豆瓣(douban.com)这样大型应用的平台百花齐放,连Python的创始人Guido van Rossum都忍不住跑来凑热闹,扬言要挑一个顺手的用用。那么最后到底是谁入了Guido的法眼呢?那就要隆重推出本书的主角—Django了!能被Guido看中那就算一只脚伸进了Google,这不,Google的新概念云计算的产品之一—Google App Engine(GAE)已率先支持了一个剪裁过的Django框架,本书会向你介绍如何在GAE上运行Django的程序。
  相比其他Python Web框架,Django更为一体化,它安装简单且灵活多变,这很符合Python开箱即用的特点。选择Django,你无需安装其他组件就能写程序运行了,同时它的灵活性体现在每个部分都能拆下来换装其他组件。简而言之,它的集成度高又保持了松耦合,这一点是相当了不起的。开发人员可以在掌握了一些基础后,把各个组件换成自己顺手的工具,这对快速开发要求很高的Web 2.0来说至关重要。如果你还在Web开发的门口徘徊不决的话,不妨来试试Django,或者你可以访问CPUG的wiki来看看Python主流框架从而加以比较。
  http://wiki.woodpecker.org.cn/moin/PyWebAppFrameworks
  http://wiki.woodpecker.org.cn/moin/PyWebFrameVs
  最后,感谢机械工业出版社华章分社的陈冀康老师和本书的编辑,没有你们就没有这本书中文版的出版。
  
  徐旭铭

图书目录

译者序
前言
致谢
引言
第一部分  入门
第1章  Django Python实战 1
1.1  Python技术就是Django技术 1
1.2  入门:Python交互解释器 2
1.3  Python基础 3
1.4  Python标准类型 5
1.5  流程控制 19
1.6  异常处理 21
1.7  文件 23
1.8  函数 24
1.9  面向对象编程 33
1.10  正则表达式 35
1.11  常见错误 36
1.12  代码风格 41
1.13  总结 43
第2章  Django速成:构建一个Blog 44
2.1  创建项目 44
2.2  运行开发服务器 46
2.3  创建Blog应用 47
2.4  设计你的Model 48
2.5  设置数据库 48
2.6  设置自动admin应用 51
2.7  试用admin 52
2.8  建立Blog的公共部分 55
2.9  最后的润色 57
2.10  总结 60
第3章  起始 61
3.1  动态网站基础 61
3.2  理解模型、视图和模板 63
3.3  Django架构总览 64
3.4  Django的核心理念 66
3.5  总结 68
第二部分  深入Django
第4章  定义和使用模型 69
4.1  定义模型 69
4.2  使用模型 80
4.3  总结 91
第5章  URL、HTTP机制和视图 92
5.1  URL 92
5.2  HTTP建模:请求、响应和中间件 96
5.3  视图与逻辑 100
5.4  总结 105
第6章  模板和表单处理 106
6.1  模板 106
6.2  表单 112
6.3  总结 123
第三部分  Django应用实例
第7章  Photo Gallery 125
7.1  模型 126
7.2  准备文件上传 127
7.3  安装PIL 128
7.4  测试ImageField 128
7.5  构建自定义File变量 130
7.6  使用ThumbnailImageField 134
7.7  设置DRY URL 135
7.8  Item应用的URL布局 137
7.9  用模板把它们都串在一起 138
7.10  总结 143
第8章  内容管理系统 144
8.1  什么是CMS 144
8.2  Flatpages 144
8.3  超越Flatpages:一个简单的自定义
CMS 147
8.4  改进建议 162
8.5  总结 163
第9章  Liveblog 164
9.1  究竟什么是Ajax 164
9.2  设计应用程序 165
9.3  应用程序布局 166
9.4  加入Ajax 169
9.5  总结 176
第10章  Pastebin 177
10.1  定义模型 177
10.2  创建模板 179
10.3  设计URL 180
10.4  试运行一下 181
10.5  限制最近Paste显示的数量 184
10.6  语法高亮 185
10.7  通过Cron Job清除 186
10.8  总结 187
第四部分  高级Django技术和特性
第11章  高级Django编程 189
11.1  自定义Admin 189
11.2  使用聚合 193
11.3  生成下载文件 195
11.4  用自定义Manager来增强Django
ORM 200
11.5  扩展模板系统 202
11.6  总结 211
第12章  高级Django部署 212
12.1  编写工具脚本 212
12.2  自定义Django codebase 214
12.3  缓存 215
12.4  测试Django应用 223
12.5  总结 229
附   录
附录A  命令行基础 231
附录B  安装运行Django 240
附录C  实用Django开发工具 254
附录D  发现、评估、使用Django应用
程序 261
附录E  在Google App Engine上使用
Django 264
附录F  参与Django项目 273
后记 275

教学资源推荐
作者: (美)Maurice Herlihy布朗大学(以)Nir Shavit 著   特拉维夫大学
作者: J.H.van Lint,R.M.Wilson
作者: 陈蕾 主编 邓晶 仲兴荣 参编
作者: [意] 阿尔贝托·博斯凯蒂(Alberto Boschetti) 卢卡·马萨罗(Luca Massaron)著
参考读物推荐
作者: [美] 布莱恩·伯杰伦(Bryan Bergeron) 托马斯 B. 塔尔博特(Thomas B. Talbot) 著