KarriGell小结

Searoom 发表于 2008-10-04 12:03:24

1、什么是?
KarriGell是个轻型web框架,使用python实现。

2、如何使用?
here下 载Karrigell,解压后即可使用,超级绿色。自带服务器也很方便,另也能和Apache很好结合。后,进入Karrigell所在目录,,运行 python Karrigell.py,在浏览器中输入localhost,即可看到Karrigell自带文档及入门手册。

Karrigell服务器有个配置文件,conf/Karrigell.ini,一般设置端口,别名,路径等
Karrigell.ini文件详解
具体字段含义如下:
[Directories]
root
设置root选项为根目录的完整路径,你从那里发布文档。初始安装这一项没有设定,默认为服务器目录,即指向为Karrigell/webapps/,这个选择你大可不必设置,因为是默认的。

protected
受保护目录列表;对于这些目录中的每个脚本,执行前都会先执行一个叫AuthentScript.py的脚本。这个AuthentScript.py必须由管理员创建并放进目录。
默认,只有admin目录是受保护的。用“;”分割来添加更多的目录。

allow_directory_listing
如果一个url对应的目录没有index文件,由本项来决定谁可以看这个目录的内容:
all = 所有人
none = 没有人
admin = 只有管理员 - 它的登录密码由admin目录中的k_password.py来配置。
默认值是“admin”。

[Applications]
映射扩展名的MIME类型;据我所知这可以在Netscape上工作,但IE上不行。

[Alias]
你 可以为某个目录指定一个别名。例如,如果你创建这个别名:scripts = /home/shengyan/mysite,那么http://localhost/scripts/index.htm这个url就会访问/home /shengyan/mysite/index.htm这个文件。
这一功能很有意思,可以将你的服务器目录与开发目录分开,同时又不至于影响你的工作。

[Server]
port
设置服务器端口(默认为80),建议使用这个选择,如果你的系统里还安装了Apache,如果直接运行python Karrigell.py,就是不能不启动服务器了,Karrigell.ini使用这个port设置功能后,会指向一个8081的服务器端口。
当然,你也可以不开启,但在启动服务器后,要指明端口:
python Karrigell.py -P 8081

debug
这个选项指定debug级别。如果设置为1,所有被导入的模块在每次导入时都会被重置,所以如果你改动了某个被导入的脚本你也不必重启服务器。

silent
如果这个选项被设置为1,控制台窗口就不打印任何消息。

zip
如果这个选项被设置为1,并且用户代理支持gzip编码(大多数浏览器支持),服务器压缩发送给用户代理的数据。这减少用户网络负荷,但多少会增加一点服务器的负荷。

global
这个选项指定所有脚本运行时需要导入的模块的路径。如果有这样一行:
global = %(base)s/myScript.py; %(base)s/myScript.py
则myScript和myScript模块都可以在所有脚本的名称空间中可用。

ignore
如果找不到就忽略的url列表(返回HTTP代码204而不是404)。默认忽略/favicon.ico。

[Translation]
指定应用程序使用的语言,无论浏览器的该选项是什么。如果不想做任何转译,就设置为lang=default,如果想使用英语,设置为lang=en,以此类推。
装载配置文件前karrigell设定了一个基本变量,它的值是服务器目录。参考默认配置文件Karrigell.ini中的%(base)s/。

3、开发?
第一个主要是.pih文件,是html嵌入python方式,类似jsp。另外很方便的是,也可以直接.py文件中,输出html代码。
第二个是利用.ks文件,这个同样是python代码,可以把之前多个.pih页面写在一个.ks文件中,就可以实现整个网站功能。

4、优点 vs 缺点?

  • 开发非常快速,结构清晰,很python化
  • 小巧轻便,随你怎么用都没关系

  • 没有url机制,路径不清晰,带参数
  • 自己写的代码比较多,整一个从无到有的过程,不过自己很清楚在做什么
  • 开发出来的页面比较朴素,要显示的好看则比较麻烦
  • 。。。
5、其他的?
如果刚开始比较熟悉其他python/web框架的话,可能会不怎么习惯KarriGell的开发方式,呵呵~至少我是的。不过嘛,习惯了,就发现各有各的好阿。同时也发现,不管是什么框架,大同小异的,只要真正去学,耐心去学,怎么可能学不会。

6、相关学习资料
Karrigell官方网站
Karrigell官方文档
Karrigell官方入门教程
Karrigell中文版官方文档
Karrigell初步安装及运行
Karrigell.ini配置详细参考
关于Karrigell的二三事

总之,学到很多,接下来就想要用起来并不断加深~

主动,耐心,思考,多练,调节
关键词(Tag): web python karrigell


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定