Scripts和Services
Python scripts和Karrigell services將是python開(kāi)發(fā)者使用Karrigell最容易接觸的兩個(gè)概念.Python scripts就是python的腳本,開(kāi)發(fā)者使用print語(yǔ)句輸出到用戶瀏覽器的內(nèi)容.如果你還不明白,建立一個(gè)testarea目錄,然后我們將開(kāi)始創(chuàng)建我們的第一個(gè)Python scripts.新建一個(gè)文件test.py:
print "<center>" print "Hello!" print "<br /><br />" print "Karrigell is configured and working." print "</center>"
在瀏覽器中打開(kāi)這個(gè)文件,如果之前你的Karrigell都正確設(shè)置,那你將會(huì)看到輸出的內(nèi)容. Python scripts也可以容易的使用表單.讓我們?cè)賮?lái)創(chuàng)建一個(gè)簡(jiǎn)單的頁(yè)面,用戶可以在這個(gè)頁(yè)面輸入自己的名字.新建文件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的編寫(xiě)和Python scripts類似.這個(gè)的作用是映射請(qǐng)求到用戶指定的方法.指定方法的名字通過(guò)跟在Karrigell services后面進(jìn)行傳遞.比如,下面這個(gè)url將會(huì)調(diào)用test這個(gè)方法
http://localhost/testarea/test.ks/test
讓我們實(shí)際編寫(xiě)下這個(gè)例子
def index(): print "Index function." def test(): print "Test function."
如果不傳遞方法名而使用這些Python scripts,你的程序會(huì)默認(rèn)執(zhí)行index方法.如果傳遞了方法名test,那test方法就會(huì)被調(diào)用.調(diào)用一個(gè)不存在的方法會(huì)拋出異常. 使用Karrigell services來(lái)處理表單傳遞的數(shù)據(jù)也很簡(jiǎn)單.讓我們來(lái)創(chuàng)建一個(gè)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 + "."
當(dāng)然,允許外部公開(kāi)訪問(wèn)你的方法是一件很危險(xiǎn)的事情,為了阻止不允許的用戶訪問(wèn)你的方法,按照下面所述給你的方法加前綴:
def _private(): pass
嘗試訪問(wèn)_private方法將會(huì)拋出異常.
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) Karrigell 入門(mén)簡(jiǎn)介[1] 下一頁(yè) Karrigell 入門(mén)簡(jiǎn)介[3]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|