Python在網頁輸出hello world
下載好web.py後,就可以在網頁上輸出hello world了
1.先新建一個index.py的檔案,引入web模組
import web
import web
2.然後把url結構告訴web.py
urls = (
'/(.*)', 'index' #也可以直接寫成 '/', 'index'
)
'/(.*)', 'index' #也可以直接寫成 '/', 'index' )
解釋一下程式碼
-
'/'
這部分是匹配URL的正則表示式,像/、/help/faq、/item/(\d+)等(\d+將匹配數字)。圓括號表示捕捉對應的資料以便後面使用。語法為正則表示式語法 -
'index'
這部分是接受請求的類名稱
,像index、view、welcomes.hello (welcomes模組的hello類),或者get_\1。\1 會被正則表示式捕捉到的內容替換,剩下來捕捉的的內容將被傳遞到你的函式中去。
所以上面那部分程式碼表示我們要URL/(首頁)
被一個叫index
的類處理。
現在我們需要建立一個列舉這些url的application。
app = web.application(urls, globals())
這會告訴web.py去建立一個基於我們剛提交的URL列表的application。這個application會在這個檔案的全域性名稱空間中查詢對應類。
3.理解GET
GET是我們都熟悉的。它用於請求網頁文字。當你在瀏覽器輸入www.baidu.com,它會直接訪問百度首頁的伺服器,去GET /。
在Python中,當有人用GET請求時,這個GET函式隨時會被web.py呼叫
class index:
def GET(self):
return "Hello, world!"
class index:
def GET(self):
return "Hello, world!"
4.執行
if __name__ == "__main__": app.run() if __name__ == "__main__": app.run()
這會告訴web.py為我們啟動上面我們寫的應用。
整個程式碼如下所示
import web
urls = (
'/', 'index'
)
app = web.application(urls, globals())
class index:
def GET(self):
return "Hello, world!"
if __name__ == "__main__":
app.run()
import web
urls = (
'/', 'index'
)
app = web.application(urls, globals())
class index:
def GET(self):
return "Hello, world!"
if __name__ == "__main__":
app.run()
然後再命令列輸入
$ python code.py # 使用預設埠
8080
或者
$ python index.py 10000 # 改變埠為
10000
(注意要找對路徑)
現在你的web.py 應用已經啟動了伺服器。通過瀏覽器訪問:http://localhost:8080/ ,或者http://127.0.0.1:8080/ 會見到瀏覽器中顯示hello world
命令列裡ctrl+c兩次就可以快速停止伺服器。
另外,寫python程式碼一定要注意空格和tab的使用,python程式碼靠的是對齊編譯,所以程式碼中一定要堅持使用tab或者堅持使用空格,不要混用