1. 程式人生 > >Python在網頁輸出hello world

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或者堅持使用空格,不要混用