現(xiàn)在我們需要來(lái)寫(xiě)index類(lèi)。雖然大多數(shù)人只會(huì)看看,并不會(huì)注意你的瀏覽器在使用用于與萬(wàn)維網(wǎng)通信的HTTP語(yǔ)言。具體的細(xì)節(jié)并不重要,但是要理解web訪問(wèn)者請(qǐng)求web服務(wù)器去根據(jù)URL(像/、/foo?f=1)執(zhí)行一個(gè)合適的函數(shù)(像GET、POST)的基本思想。
GET是我們都熟悉的。它用于請(qǐng)求網(wǎng)頁(yè)文本。當(dāng)你在瀏覽器輸入harvard.edu,它會(huì)直接訪問(wèn)Harvard的web服務(wù)器,去GET /。 第二個(gè)最有名的是POST,它經(jīng)常被用在提交form,比如請(qǐng)求買(mǎi)什么東西。每當(dāng)提交一個(gè)去做什么事情(像使用信用卡處理一筆交易)的請(qǐng)求時(shí),你可以使用POST。這是關(guān)鍵,因?yàn)镚ET的URL可以被搜索引擎索引,并通過(guò)搜索引擎訪問(wèn)。雖然大部分頁(yè)面你希望被索引,但是少數(shù)類(lèi)似訂單處理的頁(yè)面你是不希望被索引的 (想象一下Google嘗試去購(gòu)買(mǎi)你網(wǎng)站上的所有東西)。
在我們web.py的代碼中,我們將這兩個(gè)方法明確區(qū)分:
class index:
def GET(self):
return "Hello, world!"
當(dāng)有人用GET請(qǐng)求/時(shí),這個(gè)GET函數(shù)隨時(shí)會(huì)被web.py調(diào)用。
好了,限制我們只需要最后一句就寫(xiě)完了。這行會(huì)告訴web.py開(kāi)始提供web頁(yè)面:
if __name__ == "__main__":
app.run()
這會(huì)告訴web.py為我們啟動(dòng)上面我們寫(xiě)的應(yīng)用。
現(xiàn)在注意,即使我已經(jīng)在這里說(shuō)了很多,但我們真正有5行這些代碼。這就是你需要編寫(xiě)的一個(gè)完整的web.py應(yīng)用。 為了更方便的使用,你的完整代碼應(yīng)該像下面這樣:
import web
urls = (
'/', 'index'
)
class index:
def GET(self):
return "Hello, world!"
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
更多建議: