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/瀏覽器