總結(jié)Python版本大集合
Python在編程領(lǐng)域的占有率一直處于穩(wěn)步上升之中,他畢竟是在開發(fā)語(yǔ)言中的佼佼者,他以非常便于操作和代碼簡(jiǎn)單的優(yōu)點(diǎn)使一些編程人員青睞,下文就著重介紹Python版本。
后臺(tái)的功能基本上都自動(dòng)有了,比如我做的例子是一個(gè)二手信息發(fā)布平臺(tái),category是二手信息的類型,還有一個(gè)information類,和category是多對(duì)一的關(guān)系。那么在后臺(tái),category和information的crud就自動(dòng)生產(chǎn)了。
由于category本身是一個(gè)自關(guān)聯(lián),所以在admin中 add category的時(shí)候,admin會(huì)根據(jù)我model的定義。自動(dòng)要求選擇一個(gè)parentCategory,而在add information的頁(yè)面上,admin會(huì)要求我選擇一個(gè)category來完成對(duì)一個(gè)information的創(chuàng)建,而以前在java中,這些工作都需要自己完成。
當(dāng)然也有很多工具可以自動(dòng)生產(chǎn)crud,不過這些開源的工具基本上都是針對(duì)單個(gè)model的,而且生成的代碼需要很大修改才能真正的把功能跑起來,最重要的一點(diǎn)是不能自動(dòng)生成關(guān)聯(lián)關(guān)系的管理。當(dāng)然我也見過有公司做了基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的代碼生產(chǎn)器。
能生成完整可用的代碼和頁(yè)面,也包括關(guān)聯(lián)關(guān)系的處理,不過由于語(yǔ)言特性的區(qū)別,在開發(fā)的時(shí)候我們還是要不停的重啟server才能顯示出效果來。雖然在技術(shù)上,為ssh實(shí)現(xiàn)這個(gè)功能并不難。
但是會(huì)消耗不少時(shí)間在上面,消耗了很多時(shí)間的話,很少就有公司將其貢獻(xiàn)出來了。所以個(gè)人認(rèn)為django在這個(gè)功能上做得還是非常不錯(cuò)的,尤其這個(gè)功能可以節(jié)省開發(fā)者很多的時(shí)間。甚至有些時(shí)候,項(xiàng)目可以雙線執(zhí)行。
用戶通過admin輸入數(shù)據(jù),Python版本程序員開發(fā)前臺(tái),這樣,前臺(tái)功能做完之后,數(shù)據(jù)也有了,基本可以測(cè)試上線了。在需要快速開發(fā)的小項(xiàng)目上,這個(gè)特性顯得尤其重要,因?yàn)閐jango產(chǎn)生得時(shí)候就是基于這個(gè)場(chǎng)景。
當(dāng)然有時(shí)候后臺(tái)也沒有這么簡(jiǎn)單,不過還好,admin提供了擴(kuò)展的功能,我們可以自己寫擴(kuò)展的代碼,然后集成到admin中去,不過事實(shí)上除了能改變admin的模板。我們不能改變?nèi)魏蝍dmin的代碼,不過我時(shí)常在想。
如果admin支持代碼自動(dòng)生成的功能,那豈不是很美妙,我們可以隨意的修改后臺(tái)的功能了,否則我們就需要自己寫代碼,不如在生成的代碼上擴(kuò)展方便。 要使用admin,必須打開django的權(quán)限模塊,這里簡(jiǎn)單介紹一下權(quán)限模塊,django自帶了一個(gè)權(quán)限模塊,這個(gè)權(quán)限模塊中的model對(duì)于熟悉權(quán)限這塊的人來說再熟悉不過了。
Python版本,group,permission,user和group多對(duì)多,group和permission多對(duì)多,在acegi中,我們通常這樣定義,user,role,resource。這個(gè)和django中的權(quán)限是一樣的,不過在django中默認(rèn)的permission的粒度是非常的粗了,是基于model的,如果我們要更細(xì)的權(quán)限模塊,那么就需要自己擴(kuò)展了。#t#
Python免費(fèi)開源,可移植到多種操作系統(tǒng),只要避免使用依賴于特定操作系統(tǒng)的特性,Python程序無需修改就可以在各種平臺(tái)上面運(yùn)行。Python擁有現(xiàn)代編程語(yǔ)言所具有的一切強(qiáng)大功能,Python標(biāo)準(zhǔn)庫(kù)十分龐大,可以幫助開發(fā)者處理各種工作,如:圖形用戶界面、文件處理、多媒體、正則表達(dá)式、文檔生成、單元測(cè)試。
線程、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)通訊、網(wǎng)頁(yè)瀏覽器、CGI、FTP、電子郵件、XML、HTML、WAV文件、密碼系統(tǒng)、Tk和其他與系統(tǒng)有關(guān)的操作。只要安裝了Python,這些功能都是可用的除了標(biāo)準(zhǔn)庫(kù)以外,還有許多其他高質(zhì)量的庫(kù),如wxPython、Twisted和Python圖形庫(kù)等等數(shù)不勝數(shù)。