说说Karrigell[原]

说说Karrigell
     我找寻了许多的基于Python的web开发框架,到现在发现Karrigell还是最适合我的。Zope觉得庞大了点,Django要说也不错,但是觉得与Karrigell相比有点麻烦。CherryPy最大的优点和缺点都在于使用类来实现他的框架了。用了一下Karrigell,觉得真不错。我觉得它最大的优点在于你可以像编写普通的python应用一样来做web开发。举个最简单的例子:
print 'just test'
这句代码一般来讲会在屏幕上输出"just test",但是如果在Karrigell下面的话,他就会将这句话显示在浏览器上面。这太有意思了,也就是说通过这个框架,你可以像编写普通的python程序一样来写web应用。在安装程序的demo下面,我发现许多有意思的应用,如calendar,blog,wiki,forum,虽然这些demo做得仍比较简陋,但是打开代码量看到的时候却发现代码量真是少之又少。你可以使用Karrigell在python中嵌入html,当然你也可以在html中嵌入python,这一点又有点像是php,asp之类的了。当然也并不仅仅是你像普通的应用一样开发web应用,他也有许多有趣和快速帮助你开发WEB应用的东西,像html tag(好像是这个名字,记不清楚了),你就可以很方便的定义你所需要的元素。Karrigell使用简单,相比别的框架你不需要刚开始的时候就一头雾水。
    突然困了,不想写了,就简单写到这儿吧。推介给大家,希望与大家共同探讨与交流,希望能用python做出不错的web应用来。
下面是一个简单的文件上传模块,包括两部份,一部分是html前台:
File to process:

另一部分是实现上传的python程序:
"""Copy the uploaded file on the script directory"""
import os
print "uploading file %s" %_myfile.filename
# uncomment the following lines to copy the uploaded file
# to the current directory
"""
f = _myfile.file # file-like object
dest_name = os.path.basename(_myfile.filename)
out = open(dest_name,'wb')
# copy file
import shutil
shutil.copyfileobj(f,out)
out.close()
"""
声明,这段代码来源于demo.是不是觉得很简单很有意思。其实许多其它的框架实现的web让你觉得用python不地道,但是这个框架则不是这样的,你会觉得你就是在用python来做事情。这段时间打算利用空闲时间把Karrigell和cherrypy好好研究一下,先浅后深吧。以后慢慢再看django和Quixote,最后再看TurboGear及zope。就这个步骤了。