Django 是新一代 Web 框架 中很是出色的成员。那么 Web 框架这个术语的确切含义究竟是 什么呢?html
要回答这个问题,让咱们来看看经过编写标准的 CGI 程序来开发 Web 应用,这在大约1998年的时候很是流行。编写 CGI Web 应用时,你须要本身处理全部的操做,就像你想烤面包,可是都须要本身生火同样。下面是实例,一个简单的 CGI 脚本,用 Python 写的,读取数据库并显示最新发布的十本书。python
1 #!/usr/bin/python 2 3 import MySQLdb 4 5 print "Content-Type: text/html" 6 print "<html><head><title>Books</title></head>" 7 print "<body>" 8 print "<h1>Books</h1>" 9 print "<ul>" 10 11 connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db') 12 cursor = connection.cursor() 13 cursor.execute("SELECT name FROM books ORDER BY pub_date DESC LIMIT 10") 14 for row in cursor.fetchall(): 15 print "<li>%s</li>" % row[0] 16 17 print "</ul>" 18 print "</body></html>" 19 20 connection.close()
代码十分简单。首先,根据 CGI 的要求输出一行 Content-Type,接下来是一个空行。再接下来是一些 HTML 的起始标签,而后链接数据库并执行一些查询操做,获取最新的十本书。遍历这些书,同时生成一个 HTML 的无序序列。最后,输出 HTML 的结束标签而且关闭数据库链接。
像这样的一次性的动态页面,从头写起的方法并不是必定很差。其中一点:这些代码简单易懂,就算是一个初起步的 开发者都能读明白这16行的 Python 代码,并且这些代码从头至尾作了什么都能了解得一清二楚。不须要学习额外的背景知识,没有额外的代码须要去了解。一样,也易于部署这16行代码,只须要将它保存为一个 latestbooks.cgi 的文件,上传到 Web 服务器上,经过浏览器访问便可。
可是,一个 Web 应用要远复杂于以上状况,这种方法很快会失效,并且你将会要面对不少问 题: 数据库
以上正是 Web 框架致力于解决的问题。Web 框架为应用程序提供了一套程序框架,这样你能够专一于编写清晰、易维护的代码,而无需从头作起。简单来讲,这就是 Django 所能作的。django
原文:《The Django Book》 http://djangobook.py3k.cn/浏览器