海上月明

editer by sun
posts - 162, comments - 51, trackbacks - 0, articles - 8
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

[转]Python Web 开发框架

Posted on 2007-01-12 22:19 pts 阅读(8977) 评论(3)  编辑  收藏

Python Web 开发框架

我需要一种快速开发语言,目前炙手可热的快速开发语言就是Python和Ruby了。我想学习Pyton,很大程度受豆瓣limodou的影响,据阿北介绍,python语言,功能强大,开发效率高,平台移植性好,可扩展性好,很适合小型的团队作战,他的语法采用缩进形式编写,比较简单,容易上手,并且目前Web 开发框架很多,可以直接运用,所 以优先考虑了他,当我开始想使用并想用他来开发产品的时候,我开始有些迷茫,按照一些Python使用的人介绍,他是是一种相对来说比较容易上手的语言, 但是当我接触时,就被茫茫的开发框架所困惑,这到底这个什么咚咚,目前还没开始研究代码,那些类似的编程的代码要研究也需要数月,这倒不是我怕,现在当务 之急是弄明白这些所谓的框架,那些环境的设置搞的我一头雾水,为什么每装一个框架,就需要一个运行环境,难道不能整合在一起?可能还不是很清楚 python 的运行情况~



我简单下了几种框架,有些很容易就运行了,可有些运行了半天也没弄明白,目前我研究的几种是Snakelets、Karrigell、Quixote、Django四种,其中SnakeletsKarrigell我已经装成功了,装成功的原因不是厉害,而是本身他封装的比较好,我一解压就可以运行,对于Django,我今天一天都在调他的运行环境,但是还是以失败告终,其实我目前最感兴趣就是他的,个人感觉他还是比较适合我学习,比较和我的口味,目前limodou,也写了相对比较多的教程,其中有一些还是可以很适合入门的,但是没调试成功,郁闷啊 [sad] ,Quixote,中文名是堂吉诃德,这个我喜欢,是因为他是 豆瓣 的主要动力系统! 但是也还没弄明白他什么工作,明天继续研究~



把我关注的几种Web 开发框架简单汇总一下,等有经验了再做具体比较:



1.Snakelets



Snakelets 是一个 Python 编写的web server,从我了解的j几种 web framework 来讲,我认为snakelet功能似乎更强,它是一个象servlet的一个东西,许多东西已经做好了,象模板,用户认证(提供多种方式)等,看了那个Frog,我还是很喜欢他的,小研究了一下他的代码,发现实在有点复杂,不容易明白,目前没有一个合适的入门教材,而且本身有些复杂,所以处于放弃状态~



2.Django



Django是一个高级 Python web framework,它鼓励快速开发和干净的、MVC设计。它包括一个模板系统,对象相关的映射和用于动态创建管理界面的框架。



他没发布之前就已经吸引了不少人了, 比以前的,更加注重整体设计



特性介绍:



对象相关的映射

完全在Python中定义你的数据模型。你可以免费得到一个丰富的,动态访问数据库的API--但如果需要你仍然可以写SQL语句。



URL 分发

URL的设计漂亮,cruft-free,没有框架的特定限定。象你喜欢的一样灵活。

模版系统

使用DjanGo强大而可扩展的模板语言来分隔设计、内容和Python代码。



Cache系统

可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。

自动化的管理界面

不需要你花大量的工作来创建人员管理和更新内容的接界。DjanGo可以自动完成。



支持多种数据库

已经支持Postgresql, MySql, Sqlite3



我倾向使用他,但是很遗憾没调试成功~ [redface]



3.Karrigell



作 为简单web开发解决, Karrigell已经包含了web服务,Python 脚本引擎,和 100% 纯Python的数据库: KirbyBase ; 你所要关心的就是创建自个儿的动态web 应用. 这个是我目前主要研究的对象,因为DjanGo没有运行成功,而据介绍Karrigell也是一个非常优秀的 web framework 框架.现在环境设置成功了,如果可以,就可以开始入门学习了~



karrigell是利用mod_python与 apache集成,不需要再运行自已的server,Karrigell不需要挂接处理。写一个.py, .hip, .pih,.ks都是可以的。.py就是普通的python程序,print的结果会作为结果输出。.hip就是Html in Python ,与.py有些象,但在 Python 顶层可以直接以字符串形式写html的代码。.pih就是Python in Html,与其它的 Python Html 模板很象,就是在 Html 模板中嵌入 Python 程序。使用<% %>来包括。.ks就是Karrigell Service,它与 CherryPy 中的方法发布有些象,但不用设置哪个方法需要发布,也不是类的写法,只是函数的写法。



4.Quixote



快速进入 无畏的骑士! 豆瓣 的主要动力系统!正因为这个,我对他的关注也多了很多~

这个框架目前国内使用的人不多,但是豆瓣正是使用了他而成功的,目前这个框架我还没开始尝试



下面有一些资料可以帮你了解他~



http://quixote.ca/

http://www.mems-exchange.org/software/quixote/apps.html



其实Python的Web 开发框架还有很多,象TurboGears ,但我目前接触的比较多的就这几个,其他的在啄木鸟社区还有很多介绍,感兴趣的,可以自己去看看,也欢迎大家能推荐一些比较好用的Web 开发框架介绍,和使用经验,共同体验python的开发乐趣~

评论

# re: [转]Python Web 开发框架  回复  更多评论   

2007-02-16 19:05 by ragkk
karrigell怎样与mod_python,apache结合起来?karrigell自带的是通过cgi与apache集合的

# re: [转]Python Web 开发框架  回复  更多评论   

2007-03-07 20:53 by ragkk
Karrigell是怎样利用mod_python和apache结合的
希望给个实例

# re: [转]Python Web 开发框架  回复  更多评论   

2008-06-26 01:38 by weizhe86
非常想知道怎么把karrigell和apache结合起来,因为,一直我都没有成功

只有注册用户登录后才能发表评论。


网站导航: