web.py是適用於Python的Web框架,功能強大而又簡單

web.py是適用於Python的Web框架,功能強大而又簡單

web.py

web.py是適用於Python的Web框架,功能強大而又簡單。web.py是公共領域;您可以毫無限制地將其用於任何目的。

最新的穩定版本0.40支持Python 2.7和Python> = 3.5。要安裝它,請運行:

# For Python 2.7
pip2 install web.py==0.40
# For Python 3
pip3 install web.py==0.40

您也可以從GitHub Releases 頁面下載它,然後手動安裝它:

unzip webpy-0.40.zip
cd webpy-0.40/
python3 setup.py install

注意:0.40是支持Python 2的最新版本。將來的版本將不再支持Python 2。

URL處理

任何網站中最重要的部分是其URL結構。您的URL不僅是訪問者看到並通過電子郵件發送給朋友的內容,還提供了有關您網站工作方式的思維模式。在諸如del.icio.us這樣的流行網站上,URL甚至是用戶界面的一部分。使用web.py可以輕鬆創建出色的URL。

要開始使用web.py應用程序,請打開一個新的文本文件(我們稱之為code.py),然後輸入:

import web

這將導入web.py模塊。

現在我們需要告訴web.py我們的URL結構。讓我們從簡單的事情開始:

urls = (
'/', 'index'
)

第一部分是一個正則表達式匹配的URL,如/,/help/faq,/item/(\\d+),等(即\\d+將匹配的數字序列)。括號表示捕獲匹配的數據,以備後用。第二部分是一類的名稱,以將請求發送到,例如index,view,welcomes.hello(其中獲取hello類的welcomes模塊),或get_\\1。\\1替換為您的正則表達式的第一個捕獲;任何剩餘的捕獲都將傳遞給您的函數。

這一行說,我們希望URL /(即首頁)由名為的類處理index。

GET和POST

GET是我們都熟悉的一種,用於請求網頁文本。當您輸入harvard.eduWeb瀏覽器時,它實際上會要求哈佛Web服務器輸入GET /。POST在提交某些形式的表單(例如,購買商品的請求)時,通常會使用第二高的。您可以使用POST,只要提交請求的行為

做一些事情(比如你的信用卡收費和處理訂單)。這是關鍵,因為GETURL可以到處傳遞,並通過搜索引擎,你一定要為大部分的網頁,但絕對指數希望像處理訂單的事情(想象一下,如果谷歌試圖購買你網站上的一切!)。

在我們的web.py代碼中,我們將兩者之間的區別清楚了:

class index:
def GET(self):
return "Hello, world!"

GET現在,只要有人GET請求,web.py就會調用此函數/。

現在,我們需要創建一個指定網址的應用程序,並告訴web.py開始提供網頁的方法:

if __name__ == "__main__":
app = web.application(urls, globals())
app.run()

首先,我們告訴web.py使用上面列出的URL創建一個應用程序,在此文件的全局命名空間中查找類。最後,我們確保web.py服務於我們上面創建的應用程序。

現在請注意,儘管我在這裡一直在談論很多,但實際上我們只有五行左右的代碼。這就是製作完整的web.py應用程序所需的全部。

為了更易於訪問,代碼如下所示:

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

啟動服務器

如果轉到命令行並鍵入:

$ python code.py
0.0.0.0:8080/

現在,您的web.py應用程序正在計算機上運行真實的Web服務器。訪問該URL,您應該會看到“ Hello,world!”(您可以在“ code.py”位之後添加IP地址/端口,以控制web.py在何處啟動服務器。也可以告訴它運行fastcgi或scgi服務器。 )

注意:如果您不想或不想使用默認值,則可以在命令行上指定要使用的端口號:

$ python code.py 1234
0.0.0.0:1234/

更多使用方法可以查看官方文檔

開源地址:

https://github.com/webpy/webpy

更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。

web.py是適用於Python的Web框架,功能強大而又簡單


分享到:


相關文章: