首頁>技術>

web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.

下面先在Windows下搭建web.py環境,網上提供的方法大部分是先把原始碼包下載下來,然後進入後python setup.py install 安裝,但是用這種方法我總是安裝失敗。原因猜測是我的python版本和web.py版本匹配問題,後來解決方法是:透過pip安裝。

在Windows DOS窗口裡輸入:pip install web.py==0.40

pip如果不識別,需要在環境變數PATH中新增C:/Python27/Scripts

它會提示如下錯誤資訊:

這時輸入python -m pip install --upgrade pip

之後再重新輸入pip install web.py==0.40

就不再報錯了。

安裝成功後,進入到目錄裡執行:python hello.py

hello.py內容如下:

import web urls = ('/hello', 'hello',       ) class hello(object):  def GET(self):    return 'hello world!' if __name__ == "__main__":  app = web.application(urls, globals())  app.run()

瀏覽器中輸入:

在阿里雲上部署,也是完全一樣的操作。

我們來解釋下這段程式碼:

第1行: import web, 在每個web.py 應用,必須先import web 模組

第3行: 把URL結構告訴web.py

第一部分是匹配URL的正則表示式,比如例子中的'/hello',對應你在瀏覽器中輸入的URL是localhost:8080/hello,如果你把改成hello2,你再輸入原來URL就無法正常訪問了,

你得改成如下URL才行

如果你改成

urls = ('/', 'hello',

)

直接這麼輸入就行了

第二部分是接受請求的類名稱。

第6-8行:

對應上面的hello,是一個類,

GET用於請求網頁文字。

下面是返回的東西,也就是我們網頁看到的東西

當有人用GET請求/時,這個GET函式隨時會被web.py呼叫。

第10行:

一個python檔案通常有兩種使用方法,第一是作為指令碼直接執行,第二是 import 到其他的 python 指令碼中被呼叫(模組重用)執行。因此 if __name__ == 'main': 的作用就是控制這兩種情況執行程式碼的過程,在 if __name__ == 'main': 下的程式碼只有在第一種情況下(即檔案作為指令碼直接執行)才會被執行,而 import 到其他指令碼中是不會被執行的。

第11行:

這會告訴web.py去建立一個基於我們剛提交的URL列表的application。這個application會在這個檔案的全域性名稱空間中查詢對應類。

第12行:

這會告訴web.py為我們啟動上面我們寫的應用。

16
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • JUC原始碼系列之CountDownLatch原始碼解析