Python语言动态WEB开发学习总结

本文回顾了Python在Web开发领域的进化历程,从最初的CGI到WSGI标准的提出,再到各类Web框架的发展,如Karrigell、CherryPy、TurboGears、Django等,并探讨了MVC架构在Python Web开发中的应用。
一,语言, 学习python后,认为一个好的动态语言应该,     虚拟机,一次编写到处执行     泛类型,但不是无类型     OOP的实现(继承,重载等等)     现代的,强大的词法 语法 二,Web Framework或Web protocol, 作为一个动态web程序框架,必须处理的有, URL Dispatch Form Process [POST GET处理] Session(Cookie) Http header 再高级点的还应有, Role management(authentication) DBMS(ORM) xML templates Cache 等等 三,CGI篇, 在学习CGI前,必须理解什么是Web Browser, 什么是Web Server. 以及他们之间的"语言"--http协议, 以及"会话"过程 早期,Web Browser只能从Web server那里请求到事先编辑好的存放在Server机器上面的文字内容,图片内容或文件,没有现在Web browser发送不同内容的请求,更不会Web server相应这样的请求. 后来,就有了active server page欲望,猜想教本语言诞生的原因是,实现对这种Browser端发过来的会变化的请求进行判断后生成不同的html字串的动作不可能"硬"写在Wb server程序里面. 没有考究过历史是否曾经出现过许多这种功能的脚本语言,但是从现在仅存的主流的Web Server IIS, Apache, Tomcat来看(他们之间互相桥接,互通有无又是后话),主流的被这两个Server程序支持的脚本也就是微软的ASP和开源世界的PHP. 事情至此以后本该是平静的日子,可要计算机技术这个世界永远的变化就是技术间的不断地分化,又不断地融合. 只有Asp 和PHP能生产动态页面的生产工作? C/C++ Pascal Fortran等这些"传统"语言也都想, 所以 CGI诞生了. Common Gate interface #!/bin/sh echo Content-type: text/html echo "<HTML><HEAD>" echo "<TITLE>Is Laura There?</TITLE>" echo 看上面一段标准CGI代码,设计思路基本就是将原本一次写在html文件的字符,用编程语言的方式一句一句运行地输出
四,WSGI, 时间到了2005年,之前Python通过CGI也成功地将自己融合到了web开发这个领域.但是Python使用者发现,他们开始愈来愈先在选择合适的 组件,合适方式继承先前代码上面花费时间.车轮子一遍一遍地重造,整合一次一次进行. 是不是该在Python自己世界里面来协议什么的? 于是Phillip J. Eby提出了WSGI的初步概念,现在在PEP0333中看到是几经修改的被追踪确认的, WSGI allows coummunication between web servers and python web applications. WSGI描述了这样两种行为, Web server调用application'提供'的function或callable object,传入environ 和start_response          其中environ必须是python字典类型,里面保函CGI式的环境变量 Application调用web server传递来的start_response, 传入status和head list, 最后返回 字符list或 iterator          status是http状态, head list为; 返回string list是html的body classic codes, def application(environ,start_response) status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return ['Hello word']
五,其他 最后所说,我碰到的,并从功能划分的framework     --------------第一代 Karrigell --------------第二代 CherryPy   Quixote --------------第三代 (早期) TurboGears   Django    Pylons               第三代(中期) Uliweb   Web2py web.py MVC              WSGI               /|/             URL Dispatch      VIEW                      Model     View, cheetah kid mygth genshi ORM, SQLObject SQLAlchemy Control, web.py   cherrypy Route Paste
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值