作為一個3年python工作者,感覺很慚愧.python強項在人工智能,然而我的工作確跟人工只能毫不相干,一直與django打交道.
django是python的大型后臺框架,功能還是很強大的
orm
orm全程是Object-RelationMapping,對象關系映射,有一個對象(Modal)對應一張數據表.一個屬性名對應一個字段,一個類實例對應一條記錄.他可以讓你專注代碼編寫,而不用去管數據庫的創建,因為orm給你提供了makemigrations和migrate兩個命令
你只要敲敲命令,輕輕松松創建數據表,當然偶爾也會出現問題.對于表字段屬性也涵蓋了很多,像主鍵,索引,備注,外鍵等都有.關于外鍵要說一下,平常我們數據庫都不會建實際的外鍵關系,所以在orm中我們也可以通過配置,刪除在數據庫中的外鍵關系.但是orm中你需要有這個外鍵關系,有了這個關系,你才能實現連表查詢呀.
既然能輕松建數據表,那我們不需要來關心數據庫類型了,也是通過配置來實現的.
對于增刪查改,基本上你能想到的數據庫操作,他都能實現,如果有不能實現的,他還給你提供了原生sql語句查詢的.其實,orm的查詢,是django自己把你的查詢轉化成了對應數據庫類型的原生sql.有這種轉化,必然會損耗部分機器性能.所以要不要用orm還是要視情況而定.
mvt模式
mvt模式,是我不太喜歡模式,model-view-template,他的模板(template)在這個前后端分離的大環境下顯的很雞肋.沒有Controller,總感覺怪怪的,你要自己寫吧,跟人家這模式又不相符,你要不寫吧,代碼就會亂亂的.抓耳撓腮~~
小插曲
之前我們公司是沒有前后端分離的,我見過我們的后端大神,用xadmin,寫前端的.不過我沒用過.我還是喜歡用HTML.哈哈,這可以看出,django是不是有點強,雖然有的強沒啥用.
總結:
django的功能,肯定不止這一點.我只列一些平常用的比較多的,其余功能可以取官網查詢,現在應該是2.x版本了,有幾個版本改動還是挺大的.