日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django框架是什麼?

發(fā)布時間:2023/11/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django框架是什麼? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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)的方法:

#!/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的起始標簽,然后連接數(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。