Size: 3419
Comment:
|
← Revision 37 as of 2009-12-25 07:09:49 ⇥
Size: 3190
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
{{http://karrigell.sourceforge.net/images/karrigell_text.png}} | |
Line 3: | Line 4: |
::-- ZoomQuiet [[[DateTime(2005-06-21T12:22:39Z)]]] [[TableOfContents]] |
<<TableOfContents>> ::-- ZoomQuiet [<<DateTime(2005-06-21T12:22:39Z)>>] |
Line 6: | Line 7: |
http://karrigell.sourceforge.net/images/karrigell_skeudenn.png''' [http://karrigell.sourceforge.net/ 永远安心工作的“推车”!] ''' = 概述 = '''Pure Python 实现的又一个 Web 应用平台!''' * 但是 Karrigell 区别与其它平台的不同在于... * [http://www.donews.net/limodou/archive/2005/03/14/302380.aspx Python 下的轻型web framework - limodou的学习记录] * Limodou 先有体验 -- [http://www.donews.net/limodou/archive/2005/04/23/347349.aspx "Karrigell学习"我为什么选择了Karrigell - limodou的学习记录] * 记录了一个系列的学习使用 Karrigell 时的发现,体会,感触……非常有指导意义! = 体验 = |
|
Line 25: | Line 15: |
<<Anchor(GreatDebugAnchor)>> == instant_site == '''最新版本的 Karrigell 提供整站创立支持!''' `感谢 broader <[email protected]> 的列表分享!` {{{ 1 启动karrigell,即直接运行karrigell.py程序 2 在浏览器地址栏输入-》 http://localhost/instant_site/index.ks/index 3 选择app_buzhug,点击ok按钮即可 4 出现以下页面信息 Script app_buzhug.ks generated Test it Back to configuration 可以选择Testit,进入下一页面, login时,用户名:admin,口令:admin }}} |
|
Line 26: | Line 32: |
[[Anchor(GreatDebugAnchor)]] | 其它若有问题,可看一下程序代码,不是很复杂。 |
Line 28: | Line 35: |
attachment::snap-Karrigell-debug.png | {{attachment::snap-Karrigell-debug.png}} |
Line 35: | Line 42: |
||attachment::snap-Karrigell-Leo.png||<^> [[Include(/LivinLeo)]]|| | ||{{attachment::snap-Karrigell-Leo.png}}||<^> <<Include(/LivinLeo)>>|| |
Line 37: | Line 44: |
== 相关Limodou's Blog文章 == [[Include(/KarrigellDocCollection)]] |
|
Line 41: | Line 46: |
[Include(RocketyKarrigell,'Rockety'sKarrigell',4,sort=descending,items=27,titlesonly)]] | |
Line 43: | Line 47: |
=== lv yi ~装在推车里的暴风雪 === `lv yi <[email protected]>` * '''[[KarrigellStorm|karrigell+storm web快速开发]]''' |
|
Line 44: | Line 51: |
= 反馈 = '''如果你有不同的体验,讨论吧!''' |
=== Moyan的MVC设计 === * '''KarriMvc''' -- 以TurboGears 的大框架的思路快速利用现有的软件组合成自个儿的 MVC 框架! |
Line 47: | Line 54: |
* 仔细读了文章后,对karrigell很有好感。像php那样简单。比php样式更多。cherry的对象方式确实比较繁琐。不过,可能适合搭建庞大站点吧。by tomz * 咦咦咦?兄台非常紧密的关注啄木鸟的Wiki 哪!刚刚写了一部分就已经有反馈了!谢谢捧场! * 其实 Karrigell 也提供 CherryPy 类似的 Pure OOP 发布的格局,即日所谓 .ks (Karrigell Service 模式) 的页面,但是就开发的快捷体验来想,有时候一定程度的 HTML 代码的混合是必要的,直观哪! 而且,使用 PythonIc 的 设计,本身也可以支持大型站点的快速组建的,主要是设计思想... * 我现在就是将站点所要操作的现实数据对象映射为py 的类树,Karrigell 仅仅负责将各种类的实例以页面的形式展示…… -- ZoomQuiet |
=== limodou's Blog文章 === <<Include(KarrigellDocCollection)>> === Rockety的开发体验 === <<Include(^RocketyKarrigell,'Rockety's Karrigell',4,items=27,titlesonly)>> === Zoomq的快乐体验 === ||<^>全文阅读::<<Include(KarrigellWebDev,'Zoomq's K体验',4,sort=descending,items=27,titlesonly)>>||章节阅读::<<Include(^KwDay.*,'KWF's 日子',4,items=27,titlesonly)>>|| === 作为服务守护 === <<Include(KarrigellRunSrv,,from="^##startInc$",to="^##endInc$")>> === ccnusjy的多线程Karrigell 增强 === * '''KarrigellWithPyProcessingVeryGoodStrong''' ~ `[email protected]` |
Contents
::-- ZoomQuiet [2005-06-21 12:22:39]
- 因为有一个快速开发一套轻型的项目管理平台的任务,在丰富的Python Web Application Frameworks 中间徘徊了几日:
- Zope ?! 太高级了,部属,开发都有门槛!管理的简便并不能抵消开发效率的问题
CherryPy ? 太好玩了,也太简单了,什么都要自个儿来…………而且上次的体验是被不完全的 Session 击中要害无法完成任务,升级了?但是不敢再玩……
Snakelets ?! 以丰富而非常个性的开发模式著称,我想的是 PythonIc 的爽直!
- Quixote -- 唐吉诃德!!豆瓣的动力!!嗯嗯!深以为然!可是花了半天才明白如何运行 demo,也才知道任何修改都要重启服务!!
- Karrigell -- 好象丰富的功能,但是都不安装到 Python 环境目录中的东西哪………………
呜乎哀哉!默许的 debuging 守护的运行模式,可以自动加载你的修改,让站点的开发象PHP 的站点组织一般进行!爽呆了!爱之!
instant_site
最新版本的 Karrigell 提供整站创立支持! 感谢 broader <[email protected]> 的列表分享!
1 启动karrigell,即直接运行karrigell.py程序 2 在浏览器地址栏输入-》 http://localhost/instant_site/index.ks/index 3 选择app_buzhug,点击ok按钮即可 4 出现以下页面信息 Script app_buzhug.ks generated Test it Back to configuration 可以选择Testit,进入下一页面, login时,用户名:admin,口令:admin
其它若有问题,可看一下程序代码,不是很复杂。
惊奇的调试
- Karrigell 将页面的 debug 作到了极点!! 在问题页面中点击 Debug 按钮会弹出双帧的 调试信息窗口!
- 左帧定位你出错的代码
- 右帧整理汇报所有断点时内存的对象情况!!
天!!就象编译C程序时一般!! 伟大的Python!!!
Livin Leo
生活在 Leo 中! 哈哈哈!凡是 Pure Python 的站点应用开发,配合Leo 简直太舒服了!
|
我们的体验
lv yi ~装在推车里的暴风雪
lv yi <[email protected]>
Moyan的MVC设计
KarriMvc -- 以TurboGears 的大框架的思路快速利用现有的软件组合成自个儿的 MVC 框架!
limodou's Blog文章
收集有关 KarriGell 的资料
::-- limodou [2005-06-22 10:39:55]
有关KarriGell的Blog文章的收集
找个目录存放你的东西 如何设置起如目录及5种页面写法介绍
k_config.py取得配置文件的信息 分析k_config.py的处理过程
Portal Demo中用户管理的学习 了解KarriGell中dbstorage层的使用
Rockety的开发体验
Zoomq的快乐体验
全文阅读::
章节阅读::
作为服务守护
- 思路
- Windows 下面——不用想了,M$不会让你这么玩的…………
- Uunix 下面——太太自然了,和一切服务一样!伪造成服务类的脚本来启动就好!
# running Karrigell as srv echo echo "running K!" cd /path/to/u/Karrigell /usr/local/bin/python Karrigell.py 2>/var/log/K.log & echo exit 0
- 标准的输出导向,就可以将Karrigell 丢到后台运行了
rcNG
利用FreeBSD 的优秀工具,可以更加标准的管理Karrigell 服务!
进一步的 可以编写为 rcNG 脚本更加标准化的通过,参考cvsup 的RCng 脚本
FreeBSD 扩展应用程序配置 有脚本模板
改进现有启动脚本:runK.sh
# running Karrigell as srv echo echo "running K!" cd /path/to/Karrigell # 使用 daemon 命令来记录运行 pid /usr/sbin/daemon -p /var/run/karrigell.pid /usr/local/bin/python Karrigell.py 2>/var/log/K.log & echo exit 0
创建 rcNG 脚本在 /usr/local/etc/rc.d 中,比如说叫:karrigell.sh
# # PROVIDE: karrigell # REQUIRE: DAEMON # KEYWORD: shutdown # # DO NOT CHANGE THESE DEFAULT VALUES HERE # SET THEM IN THE /etc/rc.conf FILE # karrigell_enable=${karrigell_enable-"YES"} karrigell_flags=${karrigell_flags-""} #karrigell_pidfile=${karrigell_pidfile-"/var/run/karrigell.pid"} # 奇怪的模板指示,两种声明方式都可以 karrigell_pidfile="/var/run/karrigell.pid" . /etc/rc.subr name="karrigell" rcvar=`set_rcvar` command="/path/to/u/runK.sh" # 因为不是直接运行的进程,所以要给 rc.subr 一点提示,声明真实运行的进程特征 procname="/usr/local/bin/python" load_rc_config $name pidfile="${karrigell_pidfile}" start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${karrigell_flags} ${command_args}" run_rc_command "$1"
最后在 /etc/rc.conf 中追加
#rc_debug="YES" #060421 rcNG Karrigell karrigell_enable="YES" ## 特别注意BSD 中的语法约定,不能有空格,这里!
唉呀呀!好也!就可以通过
#/usr/local/etc/rc.d/karrigell start #/usr/local/etc/rc.d/karrigell stop
的标准方式来进行服务管理了