複習Python的Day45:第一個網站

複習Python的第四十五天

習題50:你的第一個網站

在創建第一個網頁應用程序之前,我們需要安裝一個“Web 框架”,它的名字
lpthw.web。儘管好的web框架很多,如Django等,但是在這裏我們根據作者所說的去做就行了。

所謂的“框架”通常是指“讓某件事情做起來更容易的軟件包”。
在網頁應用的世界裏,人們創建了各種各樣的“網頁框架”,用來解決他們在創建網站時碰到的問題,然後把這些解決方案用軟件包的方式發佈出來,這樣你就可以利用它們引導創建你自己的項目了。

直接在cmd命令行中輸入pip install lpthw.web就行了。

寫一個簡單的Hello World項目。

import web
urls = (
'/', 'index'
)

app = web.application(urls, globals())
class index:
    def GET(self):
        greeting = "Hello World"
        return greeting

if __name__ == "__main__":
    app.run()

使用python app.py運行結果:

http://0.0.0.0:8080/

然後python交互界面顯示:http://0.0.0.0:8080/,使用瀏覽器打開URLhttp://localhost:8080/,瀏覽器則會顯示"Hello World"

這些是lpthw.web打印出的log信息,從這些信息你可以看出服務器有在運行,而且能瞭解到程序在瀏覽器背後做了些什麼事情。這些信息還有助於你發現程序的問題。

發生了什麼事情

在瀏覽器訪問到你的網頁應用程序時,發生了下面一些事情:
1. 瀏覽器通過網絡連接到你自己的電腦,它的名字叫做 localhost ,這是一個標準稱謂,表示的就是網絡中你自己的這臺計算機,不管它實際名字是什麼,你都可以使用localhost來訪問。它使用到的網絡端口是5000
2. 連接成功以後,瀏覽器對bin/app.py這個應用程序發出了HTTP請求(request),要求訪問URL/,這通常是一個網站的第一個URL
3. 在bin/app.py裏,我們有一個列表,裏邊包含了URL 和類的匹配關係。我們這裏只定義了一組匹配,那就是'/', 'index'的匹配。
4. 它的含義是:如果有人使用瀏覽器訪問/這一級目錄,lpthw.web將找到並加載class index,從而用它處理這個瀏覽器請求。
5. 現在lpthw.web找到了class index,然後針對這個類的一個實例調用了index.GET這個方法函數。該函數運行後返回了一個字符串,以供lpthw.web 將其傳遞給瀏覽器。
6. 最後lpthw.web完成了對於瀏覽器請求的處理,將響應(response)回傳給瀏覽器,於是你就看到了現在的頁面。

修正錯誤

如同作者說的,我刪去了greeting變量賦值,刷新結果如下:

lpthw.web 的會把一些錯誤信息和堆棧跟蹤(stack trace)信息顯示在命令行終端,所以別忘了檢查命令行終端的信息輸出。

lpthw.web給我們的錯誤界面如下,檢查每一段Local vars輸出(用鼠標點擊它們),追蹤裏邊提到的變量名稱以及它們是在哪些代碼文件中用到的:

創建基本的模板文件

暫時不做了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章