自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)于Python Web編程的一些概念總結(jié)

開(kāi)發(fā) 前端 后端
最近看了一些Python的Web Framework,Python的web編程是百家爭(zhēng)鳴,各種概念和相關(guān)“責(zé)任人”也沒(méi)有java里面那么清晰,我簡(jiǎn)單的根據(jù)自己的理解做一個(gè)總結(jié)。我想這些概念應(yīng)該是通用的,或者對(duì)其他語(yǔ)言的web編程有借鑒意義的。

最近看了一些Python的Web Framework,Python的web編程是百家爭(zhēng)鳴,各種概念和相關(guān)“責(zé)任人”也沒(méi)有java里面那么清晰,我簡(jiǎn)單的根據(jù)自己的理解做一個(gè)總結(jié)。我想這些概念應(yīng)該是通用的,或者對(duì)其他語(yǔ)言的web編程有借鑒意義的。

1. 傳統(tǒng)的Web Server應(yīng)該具備的功能

◆ 監(jiān)聽(tīng)一個(gè)本地端口,接受客戶(hù)端的HTTP請(qǐng)求

◆ 自己處理HTTP請(qǐng)求或者調(diào)用其他網(wǎng)關(guān)來(lái)處理請(qǐng)求

◆ 將處理結(jié)果基于HTTP協(xié)議響應(yīng)給客戶(hù)端

◆ 關(guān)于HTTP/HTTPS的其他方面支持

2. Web Gateway 應(yīng)該具備的功能

◆ Gateway 不需要處理HTTP協(xié)議的細(xì)節(jié)

◆ Gateway 接受環(huán)境變量和調(diào)用參數(shù)作為自己的變量

◆ Gateway 根據(jù)調(diào)用規(guī)則,返回調(diào)用結(jié)果

3. Web Framework 通常具備的功能

很少有一個(gè)框架完成所有的這些任務(wù),一般的框架往往提供基本功能或者專(zhuān)攻一項(xiàng)功能,其余的功能由我們自己實(shí)現(xiàn)或者我們自己組合多個(gè)框架。Django據(jù)說(shuō)很能干,大包大攬,但是需求是千變?nèi)f化的,所以往往應(yīng)該由程序員組合其他專(zhuān)攻一項(xiàng)的框架來(lái)完成特定的任務(wù)。java 里面的SSH就是這個(gè)道理。

1. Session(Cookie)

2. Authentication/Authorization : AA是一個(gè)非常通用的功能,應(yīng)該抽象到框架里面去實(shí)現(xiàn),不要重復(fù)啃這個(gè)硬輪子

3. Template :模板會(huì)大大增加可讀性和可維護(hù)性,一個(gè)簡(jiǎn)單易用強(qiáng)大的模板非常重要

4. MVC :MVC 已經(jīng)是一種習(xí)慣

5. Menu :菜單導(dǎo)航也是一個(gè)通用的模塊,***由框架實(shí)現(xiàn)

6. Pagination:分頁(yè)也是一個(gè)非常普遍的功能,在開(kāi)發(fā)具體項(xiàng)目時(shí),應(yīng)該要提前實(shí)現(xiàn)

7. i18n:框架應(yīng)該提供國(guó)際化的解決方案

8. DB/ORM:現(xiàn)在的項(xiàng)目,訪問(wèn)數(shù)據(jù)庫(kù)幾乎是家常便飯,所以好的框架應(yīng)該提供簡(jiǎn)單的DB訪問(wèn)接口,能提供ORM更佳

9. Workflow ?

10. Web Service ?

11. Batch Job

12. 驗(yàn)證碼?

其他

4. Web Application 常見(jiàn)功能

1. login/logout/Account maintenance :基于Web服務(wù)器或者Web框架提供的Session,AA等功能,實(shí)現(xiàn)基于用戶(hù)的創(chuàng)建登錄注銷(xiāo)等

2. Query / View / Create / Delete / Undelete / Import / :基于DB/ORM,Pagination等,實(shí)現(xiàn)數(shù)據(jù)的增刪改查導(dǎo)入等等

3. Front verification/Front control (JavaScript) :前端驗(yàn)證幾乎都是用JavaScript了,可以考慮使用一個(gè)流行的JavaScript框架

4. Back End verification :后端驗(yàn)證

5. theme / UI(CSS) :誰(shuí)都喜歡漂亮的頁(yè)面,統(tǒng)一的主題和界面是每個(gè)項(xiàng)目必須的

6. Parameter :項(xiàng)目都有一些系統(tǒng)參數(shù),應(yīng)該提供頁(yè)面讓管理員去維護(hù)這些參數(shù)

7. Code : Code Mapping就是男M女F的mapping,應(yīng)該提供頁(yè)面讓管理員去維護(hù)這些code

8. Upload / Download :上傳下載文件,這個(gè)應(yīng)該寫(xiě)成本項(xiàng)目的common模塊

9. Report (Excel, PDF):報(bào)表,可以由代碼生成也報(bào)表也可以使用第三方報(bào)表框架

10. Audit trail :任何人做任何操作都應(yīng)該有audit,這個(gè)功能每個(gè)項(xiàng)目都不一樣,還是各做各的吧

11. Backup/Recovery :故障恢復(fù)?

5. 什么是Web Middleware

什么是Web Middleware ?就是這家伙對(duì)Web Server來(lái)說(shuō),裝的像個(gè)Web Application;同時(shí)對(duì)Web Application來(lái)說(shuō),這家伙又裝的像個(gè)Web Server。也就是說(shuō)對(duì)Web Server來(lái)說(shuō),Web Middleware 扮演Web Application的角色;同時(shí)對(duì)Web Application來(lái)說(shuō),Web Middleware 扮演Web Server的角色。

我個(gè)人覺(jué)得很多Python的Web框架,都是Middleware,對(duì)傳統(tǒng)的Web Server來(lái)說(shuō),扮演基于WSGI的Application的角色,對(duì)于我們開(kāi)發(fā)項(xiàng)目的人來(lái)說(shuō),他們又扮演Web Server/Web Framework的角色。

原文:http://www.iteye.com/topic/1114128

【編輯推薦】

  1. Python 3.2.2正式版發(fā)布
  2. Python在Linux平臺(tái)上的發(fā)展前景展望
  3. 五分鐘理解Python元類(lèi)(Metaclasses)
  4. Python入門(mén)之你必須了解的語(yǔ)法與類(lèi)型
  5. Perl、PHP、Python、Java和Ruby的比較
責(zé)任編輯:陳貽新 來(lái)源: congdepeng
相關(guān)推薦

2012-01-09 16:02:19

JavaJVM

2010-05-25 17:00:04

Java WebWeb容器Web應(yīng)用

2009-06-25 09:50:32

JSF

2011-04-14 09:15:21

Java Web應(yīng)用開(kāi)發(fā)

2009-06-18 14:54:52

Spring AOP

2011-08-01 10:37:29

軟件項(xiàng)目管理

2013-07-02 10:18:20

編程編程策略

2013-07-02 09:43:02

編程策略

2020-10-19 19:25:32

Python爬蟲(chóng)代碼

2014-08-26 10:03:45

Oracle 12c新

2022-09-09 08:51:42

ShellLinux

2009-06-22 15:36:00

如何學(xué)好java

2011-07-12 09:47:53

WebService

2011-11-28 15:57:26

MySQL數(shù)據(jù)庫(kù)主從配置

2011-12-14 16:43:54

javanio

2015-12-08 09:05:41

Java內(nèi)部類(lèi)

2009-09-27 11:09:42

API設(shè)計(jì)

2009-07-15 16:16:22

JDBC下載

2018-01-09 18:06:41

Python爬蟲(chóng)技巧

2009-11-30 13:51:28

VS2003 Acti
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)