本節我們將改進程式,讓使用者可以使用(form)表單來向網頁程式提交文字,並將使用者的相關資訊儲存到他們的會話(session)中。
下圖展示了web的http請(request)求的各個不同部分,以及資訊傳遞的大致流程:
你在瀏覽器中輸入** ,然後瀏覽器會通過你的電腦的網路裝置發出request(線路 a)。
你的request被傳送到網際網路(線路 b),然後再抵達遠端伺服器(線路 c),然後我的伺服器將接受這個request。
作者的伺服器接受request 後,作者的web應用程式就去處理這個請求(線路 d),然後我的python**就會去執行index.get這個「處理程式(handler)」。
在**return的時候,作者的python伺服器就會發出響應(response),這個響應
會再通過線路d傳遞到你的瀏覽器。
這個**所在的伺服器將響應由線路d獲取,然後通過線路c傳至網際網路。
響應通過網際網路由線路b傳至你的計算機,計算機的網絡卡再通過線路a將響應傳給你的瀏覽器。
最後,你的瀏覽器顯示了這個響應的內容。
作者的解釋很棒,仔細看一下。
有乙個很好的方法讓你更清楚,就是對照著上面的圖示,將你在《習題 50》中建立的 web 程式中的內容分成幾個部分,讓其中的各部分對應到上面的圖示。如果你可以正確地將程式的各部分對應到這個圖示,你就大致開始明白它的工作原理了。
import web還有後續,暫時不做了。urls = (
'/hello', 'index'
)render = web.template.render('templates/')
class
index
(object):
defget
(self):
form = web.input(name="nobody")
greeting = "hello, %s" % form.name
return render.index(greeting = greeting)
if __name__ == "__main__":
實習日記 Day46
在宿舍躺了快兩天之後,雖然尚未痊癒,今天我也毅然決然要來上班 不是因為有多熱愛工作,也不是為了掙這點少得可憐的日薪。而是 不想再繼續停留在 養病休息 的 廢柴 狀態了 健康最重要 生病的時候,只有好好休息,因為想幹的事兒,甚至連洗澡這種小事兒都幹不了。這種被動停下來和主動停下來的區別還是很大的。生病...
day46 守護執行緒
1 守護執行緒要注意的坑 下面 只能列印出子執行緒開始,無法列印出子執行緒執行完畢,因為主線程在t.start 以後就結束了,而子執行緒要睡眠1秒,所以子執行緒守護執行緒隨著主線程的結束而結束了。from threading import thread import time deffunc pri...
python複習筆記day1
python資料處理 ord 獲取數字的整數表示 ord a 65 chr 將編碼轉換為字元 66 b len 計算字串長度 str 函式 將其他物件轉為字串 find 方法 找到字串首次所出現的位置 split 方法 按指定分隔符拆分字串 lower 方法 轉換大小寫 列表名 元素 元素 元素 增...