Django框架是什麼?
Django在新一代的Web框架中非常出色,為什么這么說呢?
為回答該問題,讓我們考慮一下不使用框架設計Python網(wǎng)頁應用程序的情形.貫穿整本書,我們多次展示不使用框架實現(xiàn)網(wǎng)站基本功能的方法,讓讀者認識到框架開發(fā)的方便,(不使用框架,更多情況是沒有合適的框架可用. 最重要的是,理解實現(xiàn)的來龍去脈會使你成為一個優(yōu)秀的web開發(fā)者)
使用Python開發(fā)Web,最簡單,原始和直接的辦法是使用CGI標準,在1998年這種方式很流行.現(xiàn)在從應用角度解釋它是如何工作: 首先做一個Python腳本,輸出HTML代碼,然后保存成.cgi擴展名的文件,通過瀏覽器訪問此文件,就是這樣.
如下示例,用Python CGI腳本顯示數(shù)據(jù)庫中最新出版的10本書:不用關心語法細節(jié),僅僅感覺一下基本實現(xiàn)的方法:
首先,用戶請求CGI,腳本代碼打印Content-Type行,后面跟著換行.再接下來是一些HTML的起始標簽,然后連接數(shù)據(jù)庫并執(zhí)行一些查詢操作,獲取最新的十本書.在遍歷這些書的同時,生成一個書名的HTML列表項.最后,輸出HTML的結束標簽并且關閉數(shù)據(jù)庫連接.
像這樣的一次性的動態(tài)頁面,從頭寫起的方法并非一定不好.其中一點:這些代碼簡單易懂,就算是一個初起步的 開發(fā)者都能讀明白這16行的Python的代碼,而且這些代碼從頭到尾做了什么都能了解得一清二楚.不需要學習額外的背景知識,沒有額外的代碼需要去了解. 同樣,也易于部署這16行代碼,只需要將它保存為一個latestbooks.cgi的文件,上傳到網(wǎng)絡服務器上,通過瀏覽器訪問即可.
盡管實現(xiàn)很簡單,還是暴露了一些問題和不便的地方.問你自己這幾個問題:
(1)應用中有多處需要連接數(shù)據(jù)庫會怎樣呢?每個獨立的CGI腳本,不應該重復寫數(shù)據(jù)庫連接的代碼.比較實用的辦法是寫一個共享函數(shù),可被多個代碼調(diào)用.
(2)一個開發(fā)人員確實需要去關注如何輸出Content-Type以及完成所有操作后去關閉數(shù)據(jù)庫么?此類問題只會降低開發(fā)人員的工作效率,增加犯錯誤的幾率. 那些初始化和釋放相關的工作應該交給一些通用的框架來完成.
(3)如果這樣的代碼被重用到一個復合的環(huán)境中會發(fā)生什么?每個頁面都分別對應獨立的數(shù)據(jù)庫和密碼嗎?
(4)如果一個Web設計師,完全沒有Python開發(fā)經(jīng)驗,但是又需要重新設計頁面的話,又將發(fā)生什么呢?一個字符寫錯了,可能導致整個應用崩潰. 理想的情況是,頁面顯示的邏輯與從數(shù)據(jù)庫中讀取書本記錄分隔開,這樣Web設計師的重新設計不會影響到之前的業(yè)務邏輯.
以上正是Web框架致力于解決的問題. Web框架為應用程序提供了一套程序框架,這樣你可以專注于編寫清晰、易維護的代碼,而無需從頭做起.簡單來說,這就是Django所能做的.
轉載于:https://www.cnblogs.com/apollo1616/articles/9893280.html
總結
以上是生活随笔為你收集整理的Django框架是什麼?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迷你世界地形码怎么用?
- 下一篇: Luogu 4755 Beautiful