Chapter 1:Django概论
这本书介绍Django,它是Web开发框架,可以节约时间并且使Web开发成为乐趣。使用Django,你能平稳有序地构建和维护高质量Web应用。
最佳情况下,Web开发是令人兴奋的,创造性地活动;最糟糕时,它是重复的,令人沮丧的行为。Django让你集中精力在有趣的任务上——你的Web应用的关键——减少不断重复的痛苦。通过这样做,它提供了通用Web开发模式的高层抽象,高频率编程任务的快捷方式,怎样解决问题的明确习惯。与此同时,Django尝试置身事外,让你工作在需要的框架外围。
这本书的目标是使你成为Django专家。重点是双重的。首先,我们深入解释Django做什么以及怎么样使用它构建Web应用。然后,我们讨论更高级的概念,这儿回答了问题“我怎样在我的工程中有效的用这些工具?”。通过读这本书你将会了解快速强有力Web站点的技能,同时有干净和易于维护的代码。
什么是Web框架?
Django是新一代Web框架的基础成员——但是这个词精确的含义是什么?
回答这个问题时,让我们考虑不使用框架的,使用Python编写的Web应用设计。通过这本书,我们将会采用这种方法,向你展示不使用快捷方式完成工作的基本方法。希望你将会认识到为什么捷径是非常有帮助的。(了解不使用捷径怎样完成整个流程是非常有价值的,因为捷径不总是可用的。并且最重要的是,知道工作机制,这会使你成为更好的Web开发者)
最简单的、最直接的方法是从零开始使用CGI构建Python Web应用,大约1998年成为受欢迎的技术。它工作机制有更高层次的解释:仅创建Python脚本输出HTML,然后以".cgi"扩展名保存脚本到Web服务器,并且在Web浏览器中访问你的页面。就这样。
举个例子,Python CGI脚本从数据库中获取近期会出版的书。不用担心语法细节;仅对它正做地事情得到一些感受:
#!/usr/bin/env python
import MySQLdb
print "Content-Type: text/html\n"
print "<html><head><title>Books</title></head>"
print "<body>"
print "<h1>Books</h1>"
print "<ul>"
connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db')
cursor = connection.cursor()
cursor.execute("SELECT name FROM books ORDER BY pub_date DESC LIMIT 10")
for row in cursor.fetchall():
print "<li>%s</li>" % row[0]
print "</ul>"
print "</body></html>"
connection.close()
首先,满足CGI的需求,这段代码打印“Content-Type”行,后面紧跟一个空行。它打印一些介绍性的HTML,连接到数据库并且运行查询取得最近十本书的名字。在取得的图书上循环,它生成标题的HTML列表。最后,打印关闭HTML的标识以及关闭数据库连接。
像这样的一页,从零写起的方法并不是坏的。这段代码是易于理解的——即使新手也能读懂这16行Python代码,并且理解它做的每件事情,从开始到结束。没有任何事情需要学习,没有另外的代码去阅读。它是简单的部署:仅仅保存这段代码在一个以“.cgi”结束文件,上传这个文件到Web服务器中,使用浏览器访问这个页面。
但是尽管它是简单的,这种方法有大量的问题。问你自己这些问题:
- 当你的应用多个部分需要连接数据库会发生什么呢?肯定地,数据库连接代码不需要在每个CGI脚本中复制代码。要做的是重构它到一个共享函数。
- 开发者真的需要打印“Content-Type”行并且记住关闭数据库连接?样板文件减少了程序员的成果并且增加了引入错误的机会。这些setup-和teardown-相关的代码将会是被一些通用的架构处理的。
- 当代码在多个环境中复用时会发生什么?每个数据库有不同的代码和密码怎么办?在这一点,一些特定环境的配置变得必要起来。
- 当没有使用Python编码的Web设计者希望重新设计页面会发生什么?一个错误的字符会破坏整个应用。理想状况下,页面的逻辑——从数据库中取得书名——将会从页面的HTML显式中分出来,因此设计者能在稍后不影响前者编辑。
这些问题是精确的——Web框架打算解决什么。Web框架为你的应用提供了编程架构,以至于你能重点写干净的,可维护的代码,而不需要重新造轮子,这就是Django所作的。
未完待续……
分享到:
相关推荐
在学习《The Django Book》的过程中,你可以掌握以下几个核心知识点: 1. **Django基础**:了解Django的基本架构,包括模型(Models)、视图(Views)、模板(Templates)和URL调度器(URLconf),这四者构成了...
Django是一个强大的Python Web开发框架,它采用了模型-...通过学习《The Django Book 2.0中文版》,开发者可以深入理解Django的每一个角落,从基本的Web应用构建到高级的框架使用,最终成为一名熟练的Django开发者。
文件解压缩后,用户将获得一个名为"The_Django_Book2[1].0-20100505_djangobook.py3k.cn.pdf"的PDF文档,便于阅读和学习。 Django是一个高效、强大且灵活的开源Web框架,它遵循“干(DRY)”原则(Don't Repeat ...
《Django Book 2.0中文译本》是关于Django框架的一本全面教程,它为初学者提供了深入了解和学习Python Web开发的宝贵资源。Django是一个基于Python的开源Web框架,它遵循“DRY”(Don't Repeat Yourself)原则,旨在...
《The Django Book》是一本关于Python Web框架Django的指南书籍,涵盖从基础到高级的各种知识点,适合希望系统学习Django的开发人员。Django是一个开源的、基于MVC(模型-视图-控制器)设计模式的Web应用框架,它...
《Django Book》是一部深入探讨Django Web框架的权威指南,专为那些希望利用Python高效构建Web应用的开发者而设计。Django是一个开源的、基于Python的Web开发框架,它强调了可重用性和“干”(Don't Repeat Yourself...
在本压缩包中包含的"Djangobook-1-0(完整版).pdf"文件,正是这本书的完整PDF版本,为读者提供了全面学习Django的资源。 Django是Python编程语言中的一款高级Web框架,它遵循“DRY”(Don't Repeat Yourself)原则,...
《Django Book 2.0中文译本》是Python开发者学习Django框架的重要参考资料,它提供了全面且深入的教程,帮助读者理解并掌握这个强大的Web开发框架。Django以其高效、安全和可扩展性闻名,是许多大型网站和应用程序...
《Django Book 1.0中文版》是针对Python Web开发框架Django的一份详尽教程,它提供了中英文双语对照,便于学习者深入理解Django的核心概念和功能。Django作为一款强大的、高性能的开源框架,因其高效、安全且易于...
以上只是《The Django Book中文版》中部分关键知识点的概述,书中还涵盖了错误处理、测试、国际化、缓存、邮件发送等多个方面,为读者提供了全面的Django学习资源。通过深入阅读和实践,开发者可以熟练掌握这个强大...
根据提供的文件信息,以下是对《The Django Book(第一版 中文高清版)》的内容知识点的详细解读: 首先,《The Django Book(第一版 中文高清版)》是一本全面介绍Python Web框架Django的入门书籍。这本书详细讲解了...
《Django Book 中文版1》是一本关于Python Web框架Django的入门教程,它旨在帮助初学者快速理解和掌握Django的基本概念和操作。在这一章中,我们主要讨论了如何开始使用Django,包括安装环境、设置数据库以及启动...
The Django Book 2.0提供了全面的教程,涵盖了以下主题: 1. 安装与设置:如何在本地环境安装Django,配置数据库,以及创建项目和应用。 2. 模型(Models):定义数据结构,包括字段类型、数据验证,以及与数据库...
通过"The Django Book 2.0中文版"的学习,读者可以全面了解Django的各个方面,并能够运用这些知识创建复杂的Web应用。同时,关注提供的更新链接和社区资源,可以保持对Django最新动态的了解,不断提升自己的技能。
### 关于《The Django Book》的关键知识点 #### 第一章:Django简介 - **什么是Web框架**:简而言之,Web框架是一套为开发者提供快速构建网站功能的基础架构。它通常包括一系列预设的功能和服务,如路由管理、...
- **在线资源**:官方网站(http://djangobook.py3k.cn/2.0/)提供了丰富的文档和教程,有助于进一步学习和实践。 - **社区支持**:活跃的社区和论坛可以解答学习过程中遇到的问题,加快学习进度。 通过以上内容,...