| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> other >> Karrigell 入门 Karrigell ru men
 

Karrigell 入门

2008-12-28 07:39:21 编辑來源:互联网 繁體版 评论
 
 
本文为【Karrigell 入门】的汉字拼音对照版显示拼音
  yuanwen:http://www.devshed.com/c/a/Python/Karrigell-for-Python/

  yinweipythonbingbushitebieweiwebkaifaersheng,suoyixianzaihenduodepython使shiyongzhedouzaikaifanenggourangpythonyunxingyuwebdekuangjia.Karrigelljiushixianzaiweishuzhongduodepython/webkuangjiazhiyi.benwenjiangduiKarrigellzuojianyaodejieshao.

  jianjie

  Karrigellshiyigegongnengqiangdaqielinghuodepython/webkuangjia,weiwebkaifatigongleduozhongjiejuefangan.bingqie,henchongyaode,tadeanzhuanghe使shiyongdoufeichangdejiandan.ji使shishipythondechuxuezhe,yebuhuizai使shiyongKarrigelldeshihoufanmihu,bingqieKarrigellyemeiyouyinweijiegoujiandanerxianzhipythondeyixietexing.tatigonglezijidewebfuwuqiwanchenggongzuo,danshiyefeichangrongyideheqitadewebfuwuqi(liruapache)jiehegongzuo,suoyiruguonixuanzeleKarrigell,nirengrankeyi使shiyongzhiqianyizhizai使shiyongdewebfuwuqi.

  zhepianwenzhangjiangcongKarrigelldeanzhuangkaishishuoqi,jieshaoshugeKarrigelldechongyaotexing.

  anzhuangKarrigell

  shangmianshuole,Karrigelldeanzhuangyidiandoubumafan.niyaozuodediyibushidaoSourceForgexiazaizuixindeKarrigelldangnixiazailezipbaohou,jiangqijieyasuodaoyigerongyizhaodaodemulu.ranhouzhijieshuangjiKarrigell.pyqidongKarrigelldeneizhiwebfuwuqi.ruguonixianzaibingbuxiangbaKarrigellheqitadewebfuwuqijiehe使shiyong,naKarrigelldeanzhuangdaocijiujieshule.

  danruguonixiangyaoshezhinidewebfuwuqilaiheKarrigelljiehe,womennaapachelaijulizi.womenxianzaixuyaoKarrigellzaiapachedehoutaiyunxing,lai使shiapachejiangxiangguandeqingqiuchuansonggeiKarrigell

  yinweiapacheyibanhuiyunxingzai80duankou,nixuyaogeiKarrigellshezhiyigeqitadeyunxingduankou.youlianggefangfalaidadaozhegemude,qiyishi使shiyongminglingxinglaiwancheng,huozhekeyigaibianKarrigelldepeizhiwenjian.xianlaikanruheyongminglingxing,womenjiangzai8080duankouyunxingKarrigell.

  C:\Karrigell>Karrigell.py -P 8080

  dierzhong,nixuyaozhaodaoKarrigell.ini,ranhoujiashangzhemeyiju

  port=8080

  xianzainixuyaopeizhiapachejiangyouguandeqingqiuzhuanxiangdaoKarrigell.yibanlaishuo,nixiwangapachekeyichulirenhedejingtaiwenjianqingqiu,biruphp.nikeyiheapachegongxiangtongyigelujing, yekeyishelidandudelujing..ranhoushezhinaxiewenjianxuyaoapachebaqingqiuchuandigeiKarrigell,nixuyaotianjiaxiamiandeneirongdaoapachede httpd.conf wenjian.

  RewriteEngine On

  RewriteRule ^/(.*).py(.*) 1.py$2]http://localhost:8080/$1.py$2 [L,P]

  RewriteRule ^/(.*).ks(.*) 1.ks$2]http://localhost:8080/$1.ks$2 [L,P]

  RewriteRule ^/(.*).hip(.*) 1.hip$2]http://localhost:8080/$1.hip$2 [L,P]

  RewriteRule ^/(.*).pih(.*) 1.pih$2]http://localhost:8080/$1.pih$2 [P]

  ruguonixiang, nikeyishezhiquanbudetedingwenjianqingqiudouzhuangeiKarrigell.zaibenwenzhong,womenjiang使shiyongtestareazhegelujing,suoyiwomenzheyangshezhihttpd.conf:

  RewriteEngine On

  RewriteRule ^/testarea(.*) 1]http://localhost:8080/testarea$1 [P]

  dangrannikeyizheyang:

  RewriteEngine On

  RewriteRule ^/testarea/(.*).py(.*)

1.py$2]http://localhost:8080/testarea/$1.py$2 [L,P]

  RewriteRule ^/testarea/(.*).ks(.*)

1.ks$2]http://localhost:8080/testarea/$1.ks$2 [L,P]

  RewriteRule ^/testarea/(.*).hip(.*)

1.hip$2]http://localhost:8080/testarea/$1.hip$2 [L,P]

  RewriteRule ^/testarea/(.*).pih(.*)

1.pih$2]http://localhost:8080/testarea/$1.pih$2 [P]

  ScriptsheServices

  Python scriptsheKarrigell servicesjiangshipythonkaifazhe使shiyongKarrigellzuirongyijiechudelianggegainian.Python scriptsjiushipythondejiaoben,kaifazhe使shiyongprintyujushuchudaoyonghuliulanqideneirong.ruguonihuanbumingbai,jianliyigetestareamulu,ranhouwomenjiangkaishichuangjianwomendediyigePython scripts.xinjianyigewenjiantest.py:

  print "<center>"

  print "Hello!"

  print "<br /><br />"

  print "Karrigell is configured and working."

  print "</center>"

  zailiulanqizhongdakaizhegewenjian,ruguozhiqiannideKarrigelldouzhengqueshezhi,nanijianghuikandaoshuchudeneirong.

  Python scriptsyekeyirongyide使shiyongbiaodan.rangwomenzailaichuangjianyigejiandandeyemian,yonghukeyizaizhegeyemianshuruzijidemingzi.xinjianwenjianaskname.py:

  if QUERY.has_key ( "name" ):

   print "Your name is", _name + "."

  else:

   print "What is your name?<br />"

   print "<form>"

   print "<input type='text' name='name' /><br />"

   print "<input type='submit' value='Proceed' />"

   print "</form>"

  Karrigell servicesdebianxiehePython scriptsleisi.zhegedezuoyongshiyangsheqingqiudaoyonghuzhidingdefangfa.zhidingfangfademingzitongguogenzaiKarrigell serviceshoumianjinxingchuandi.biru,xiamianzhegeurljianghuitiaoyongtestzhegefangfa

http://localhost/testarea/test.ks/test

  rangwomenshijibianxiexiazhegelizi

  def index():

   print "Index function."

  def test():

   print "Test function."

  ruguobuchuandifangfaminger使shiyongzhexiePython scripts,nidechengxuhuimorenzhixingindexfangfa.ruguochuandilefangfamingtest,natestfangfajiuhuibeitiaoyong.tiaoyongyigebucunzaidefangfahuipaochuyichang.

  使shiyongKarrigell serviceslaichulibiaodanchuandideshujuyehenjiandan.rangwomenlaichuangjianyigeascname.ks

  def index():

   print "What is your name?<br />"

   print "<form action='nameSubmit'>"

   print "<input type='text' name='name' /><br />"

   print "<input type='submit' value='Proceed' />"

   print "</form>"

  def nameSubmit ( name ):

   print "Your name is", name + "."

  dangran,yuanxuwaibugongkai访fangwennidefangfashiyijianhenweixiandeshiqing,weilezuzhibuyuanxudeyonghu访fangwennidefangfa,anzhaoxiamiansuoshugeinidefangfajiaqianzhui:

  def _private():

   pass

  changshi访fangwen_privatefangfajianghuipaochuyichang.

  使shiyongHIP

  zaiaskname.py,youyijianshiqingzhidezhuyi,zhegedaimagexingjieourintyuju.ruguokeyibu使shiyongprinterzhijieshuchu,najianghuishiyijianduomehaodeshiqing.xingyundeshi,Karrigelltigonglezheyangdegongneng.zhebeichengweiHTML Inside Python,zhejiangqingchusuoyoutaoyandeprintyuju.bingqiecongaskname.pydaoTML Inside Pythondezhuanhuanyefeichangrongyi.womenzhishixuyaoyizounaxieprintyuju.shanchuaskname.pylideprintbingjiangwenjianchongmingmingweiaskname.hip

  f QUERY.has_key ( "name" ):

   "Your name is", _name + "."

  else:

   "What is your name?<br />"

   "<form method='POST'>"

   "<input type='text' name='name' /><br />"

   "<input type='submit' value='Proceed' />"

   "</form>"

  zhejiushiHTML Inside Python.Karrigelljianghuijianchanidewenjianbingzidongzaixuyaodedifangtianjiaprint.HTML Inside PythonshiKarrigelljiandanyixuedeyigeyoulizhengming.

  Python Inside HTML

  KarrigelltigongleHTML

  Inside Python,nazirande,yehuitigongPython Inside HTML.heyibandezuofayiyang,jiangpythonyujuxiezaiteshudebiaojili,ranhoubazuizhongjieguofasongdaoyonghudeliulanqi.rangwomenlaichuangjianyigejiandandeshili,random.pih

  <% import random %>

  Random number: <b><% print random.random() %></b>

  zhengrunishuokandaode,Python Inside HTMLdegainianrucidejiandan.erqishi,daimakuaikeyigengjiadejiandan:

  <%= random.random() %>

  danshi,ruguochuligengfuduodeluoji,biruchulibiaodanshuju?biaodanshujukeyixiangzaiPython scriptszhongbeichulinayangbeichuli.zheshiyouyigeaskname.pydefuzhipinaskname.pih

  <% if QUERY.has_key ( "name" ): %>

   Your name is <%= _name %>.

  <% end %>

  <% else: %>

   What is your name?<br />

   <form method='POST'>

   <input type='text' name='name' /><br />

   <input type='submit' value='Proceed' />

   </form>

  <% end %>

  qingzhuyi<% end %>de使shiyong.zhejiangbiaoshidaimakuaidejieyi,jiuxiangshangmianwomendetiaojianyujudesuojinyiyang.lingyigekexuanzedebanfashi使shiyongindentbiaoqian,zhegeyebeiyonglaibiaoshidaimasuojin.

  <indent>

  <% if QUERY.has_key ( "name" ): %>

   Your name is <%= _name %>.

  <% else: %>

   What is your name?<br />

   <form method='POST'>

   <input type='text' name='name' /><br />

   <input type='submit' value='Proceed' />

   </form>

  </indent>

  gengduodetexing

  womenlaizheyangshiyixia,biaoqiankeyitongguoPython scriptszheyang使shiyong,tagtest.py

  rom HTMLTags import *

  print CENTER ( B ( "Test." ) )

  sessiontongyangkeyizaiKarrigellbeichuli,bingqieKarrigellhuantigongleyigelianghaodejiejinyumianxiangduixiangdesessionjizhi.rangwomenchuangjianyiduanjiandandedaimalaishifanKarrigellzhongdesession.huidaowomendediyigelizi,yonghujianghuihuodeyigexingyunshuzi.ruguoyonghushuaxinyemian,gaishuzirengrancunzai,yinweizhegeshuzijiangbeibaocunzaisessinzhong.dangran,yonghujiangkeyixuanzechongxinhuoquxindexingyunshuzi,zhetongguoguanbisessinlaiwancheng.chuangliyigemingweiluckynumber.ksdeKarrigell services,shuruxiamiandedaima:

  import random

  user = Session()

  def index():

   if not "luckyNumber" in dir ( user ):

   user.luckyNumber = random.randint ( 0, 20 )

   print "Your lucky number:", user.luckyNumber

   print "<br /><br />"

   print "<a href='reset'>Reset Lucky Number</a>"

  def reset():

   user.close()

   print "Your lucky number has been reset."

   print "<br /><br />"

   print "<a href='index'>Back</a>"

  jielun

  Karrigelltigonglesizhongfangfalaijinxingwebkaifang,Python scripts,Karrigell services,HTML Inside PythonhePython Inside HTML,meizhongfangfadouyouqitedian,danshitamenquedouyouyigegongtongdeyoudian:使shiyongjiandan.Karrigell jiangwebkaifabianchengleyijianyouya,jiandandeshiqing.wulunshidandu使shiyongKarrigellhuanshiheapachejiehe使shiyong,doushilingrenchijingdejiandan.yinwei,wulunshiduiyuchuxuezhe,huanshilaoshou,Karrigelldoushibucuodexuanze.原文】【拼音
 
 
 
 
上一篇《实现文件上传的程序源码》
下一篇《再论夏新E70无故自动断电关机现象》
 
 
 
 
 62.*.*.* 发表于2011-07-25 13:26:06
  No question this is the place to get this info, tahkns y'all.
  回复
  
  
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
原文:http://www.devshed.com/c/a/Python/Karrigell-for-Python/ 因为python并不是特别为web开发而生,所以现在很多的python使用者都在开发能够让python运行于web的框架.Karrigell就是现在为数众多的python/web框架之一.本文将对Karrigell做简要的介绍. 简介 Karrigell是一个功能强大且灵活的python/web框架,为web开发提供了多种解决方案.并且,很重要的,它的安装和使用都非常的简单.即使是python的初学者,也不会在使用Karrigell的时候犯迷糊,并且Karrigell也没有因为结构简单而限制python的一些特性.它提供了自己的web服务器完成工作,但是也非常容易的和其他的web服务器(例如apache)结合工作,所以如果你选择了Karrigell,你仍然可以使用之前一直在使用的web服务器. 这篇文章将从Karrigell的安装开始说起,介绍数个Karrigell的重要特性. 安装Karrigell 上面说了,Karrigell的安装一点都不麻烦.你要做的第一步是到SourceForge下载最新的Karrigell,当你下载了zip包后,将其解压缩到一个容易找到的目录.然后直接双击Karrigell.py启动Karrigell的内置web服务器.如果你现在并不想把Karrigell和其他的web服务器结合使用,那Karrigell的安装到此就结束了. 但如果你想要设置你的web服务器来和Karrigell结合,我们拿apache来举例子.我们现在需要Karrigell在apache的后台运行,来使apache将相关的请求传送给Karrigell 因为apache一般会运行在80端口,你需要给Karrigell设置一个其他的运行端口.有两个方法来达到这个目的,其一是使用命令行来完成,或者可以改变Karrigell的配置文件.先来看如何用命令行,我们将在8080端口运行Karrigell. C:\Karrigell>Karrigell.py -P 8080 第二种,你需要找到Karrigell.ini,然后加上这么一句 port=8080 现在你需要配置apache将有关的请求转向到Karrigell.一般来说,你希望apache可以处理任何的静态文件请求,比如php.你可以和apache共享同一个路径, 也可以设立单独的路径..然后设置那些文件需要apache把请求传递给Karrigell,你需要添加下面的内容到apache的 httpd.conf 文件. RewriteEngine On RewriteRule ^/(.*).py(.*) [url=http://localhost:8080/$1.py$2]http://localhost:8080/$1.py$2[/url] [L,P] RewriteRule ^/(.*).ks(.*) [url=http://localhost:8080/$1.ks$2]http://localhost:8080/$1.ks$2[/url] [L,P] RewriteRule ^/(.*).hip(.*) [url=http://localhost:8080/$1.hip$2]http://localhost:8080/$1.hip$2[/url] [L,P] RewriteRule ^/(.*).pih(.*) [url=http://localhost:8080/$1.pih$2]http://localhost:8080/$1.pih$2[/url] [P] 如果你想, 你可以设置全部的特定文件请求都转给Karrigell.在本文中,我们将使用testarea这个路径,所以我们这样设置httpd.conf: RewriteEngine On RewriteRule ^/testarea(.*) [url=http://localhost:8080/testarea$1]http://localhost:8080/testarea$1[/url] [P] 当然你可以这样: RewriteEngine On RewriteRule ^/testarea/(.*).py(.*) [url=http://localhost:8080/testarea/$1.py$2]http://localhost:8080/testarea/$1.py$2[/url] [L,P] RewriteRule ^/testarea/(.*).ks(.*) [url=http://localhost:8080/testarea/$1.ks$2]http://localhost:8080/testarea/$1.ks$2[/url] [L,P] RewriteRule ^/testarea/(.*).hip(.*) [url=http://localhost:8080/testarea/$1.hip$2]http://localhost:8080/testarea/$1.hip$2[/url] [L,P] RewriteRule ^/testarea/(.*).pih(.*) [url=http://localhost:8080/testarea/$1.pih$2]http://localhost:8080/testarea/$1.pih$2[/url] [P] Scripts和Services Python scripts和Karrigell services将是python开发者使用Karrigell最容易接触的两个概念.Python scripts就是python的脚本,开发者使用print语句输出到用户浏览器的内容.如果你还不明白,建立一个testarea目录,然后我们将开始创建我们的第一个Python scripts.新建一个文件test.py: print "<center>" print "Hello!" print "<br /><br />" print "Karrigell is configured and working." print "</center>" 在浏览器中打开这个文件,如果之前你的Karrigell都正确设置,那你将会看到输出的内容. Python scripts也可以容易的使用表单.让我们再来创建一个简单的页面,用户可以在这个页面输入自己的名字.新建文件askname.py: if QUERY.has_key ( "name" ): print "Your name is", _name + "." else: print "What is your name?<br />" print "<form>" print "<input type='text' name='name' /><br />" print "<input type='submit' value='Proceed' />" print "</form>" Karrigell services的编写和Python scripts类似.这个的作用是映射请求到用户指定的方法.指定方法的名字通过跟在Karrigell services后面进行传递.比如,下面这个url将会调用test这个方法 [url=http://localhost/testarea/test.ks/test]http://localhost/testarea/test.ks/test[/url] 让我们实际编写下这个例子 def index(): print "Index function." def test(): print "Test function." 如果不传递方法名而使用这些Python scripts,你的程序会默认执行index方法.如果传递了方法名test,那test方法就会被调用.调用一个不存在的方法会抛出异常. 使用Karrigell services来处理表单传递的数据也很简单.让我们来创建一个ascname.ks def index(): print "What is your name?<br />" print "<form action='nameSubmit'>" print "<input type='text' name='name' /><br />" print "<input type='submit' value='Proceed' />" print "</form>" def nameSubmit ( name ): print "Your name is", name + "." 当然,允许外部公开访问你的方法是一件很危险的事情,为了阻止不允许的用户访问你的方法,按照下面所述给你的方法加前缀: def _private(): pass 尝试访问_private方法将会抛出异常. 使用HIP 在askname.py,有一件事情值得注意,这个代码镉刑嗟膒rint语句.如果可以不使用print而直接输出,那将会是一件多么好的事情.幸运的是,Karrigell提供了这样的功能.这被称为HTML Inside Python,这将清除所有讨厌的print语句.并且从askname.py到TML Inside Python的转换也非常容易.我们只是需要移走那些print语句.删除askname.py里的print并将文件重命名为askname.hip f QUERY.has_key ( "name" ): "Your name is", _name + "." else: "What is your name?<br />" "<form method='POST'>" "<input type='text' name='name' /><br />" "<input type='submit' value='Proceed' />" "</form>" 这就是HTML Inside Python.Karrigell将会检查你的文件并自动在需要的地方添加print.HTML Inside Python是Karrigell简单易学的一个有力证明. Python Inside HTML Karrigell提供了HTML Inside Python,那自然的,也会提供Python Inside HTML.和一般的做法一样,将python语句写在特殊的标记里,然后把最终结果发送到用户的浏览器.让我们来创建一个简单的示例,random.pih <% import random %> Random number: <b><% print random.random() %></b> 正如你说看到的,Python Inside HTML的概念如此的简单.而其实,代码块可以更加的简单: <%= random.random() %> 但是,如果处理更复杂的逻辑,比如处理表单数据?表单数据可以像在Python scripts中被处理那样被处理.这是有一个askname.py的复制品askname.pih <% if QUERY.has_key ( "name" ): %> Your name is <%= _name %>. <% end %> <% else: %> What is your name?<br /> <form method='POST'> <input type='text' name='name' /><br /> <input type='submit' value='Proceed' /> </form> <% end %> 请注意<% end %>的使用.这将标识代码块的结尾,就像上面我们的条件语句的缩进一样.另一个可选择的办法是使用indent标签,这个也被用来标识代码缩进. <indent> <% if QUERY.has_key ( "name" ): %> Your name is <%= _name %>. <% else: %> What is your name?<br /> <form method='POST'> <input type='text' name='name' /><br /> <input type='submit' value='Proceed' /> </form> </indent> 更多的特性 我们来这样试一下,标签可以通过Python scripts这样使用,tagtest.py rom HTMLTags import * print CENTER ( B ( "Test." ) ) session同样可以在Karrigell被处理,并且Karrigell还提供了一个良好的接近于面向对象的session机制.让我们创建一段简单的代码来示范Karrigell中的session.回到我们的第一个例子,用户将会获得一个幸运数字.如果用户刷新页面,该数字仍然存在,因为这个数字将被保存在sessin中.当然,用户将可以选择重新获取新的幸运数字,这通过关闭sessin来完成.创立一个名为luckynumber.ks的Karrigell services,输入下面的代码: import random user = Session() def index(): if not "luckyNumber" in dir ( user ): user.luckyNumber = random.randint ( 0, 20 ) print "Your lucky number:", user.luckyNumber print "<br /><br />" print "<a href='reset'>Reset Lucky Number</a>" def reset(): user.close() print "Your lucky number has been reset." print "<br /><br />" print "<a href='index'>Back</a>" 结论 Karrigell提供了四种方法来进行web开放,Python scripts,Karrigell services,HTML Inside Python和Python Inside HTML,每种方法都有其特点,但是他们却都有一个共同的优点:使用简单.Karrigell 将web开发变成了一件优雅,简单的事情.无论是单独使用Karrigell还是和apache结合使用,都是令人吃惊的简单.因为,无论是对于初学者,还是老手,Karrigell都是不错的选择.
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
上海柏雅居酒店模拍
清晨美丽的风景
梦清园的靓丽女生
妖艳的食人花(7)
且行且攝------"色"影大連
【做股票的朋友看过来-华尔街的铜牛】
端午节后闲逛
捐款赈灾吴川行 花絮
 
>>返回首页<<
 为你推荐
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有