重新撿起flask(三)
記一次bug調試。
本來以為模板這一章可以很快的過掉的,剛剛寫完的2其實只剩下個flask-moment時間庫了,之前早就做過,記得很簡單,本來說只要敲一下代碼就結束,沒想到,踩坑裏去了。
調試bug嗎,我想起了溫伯格先生書裏說到,永遠要做點別的事,特別是對計算機,重復執行只會得到一樣的結果。
現在錯誤我簡單來描述一下,就是我在打開index主頁時,報了一個這樣的錯。
為了解開這個錯誤,我做了幾點嘗試。
第一,我試了一下打開user頁面,頁面是正常的。
那說明base.html應該沒什麽問題。因為他們都是繼承在一個base模板的。
那問題就應該是index.html了。
我刪掉了新加上的代碼,果然一切又恢復正常了。
加上以後,錯誤復現。
但感覺不對啊,因為我看我加的moment代碼都是OK的啊。
難道還是base.html的問題,我又回過去看了一下。
難道是這一段?我之前的代碼是全部放在page_content塊裏。所以我把代碼拆分成下面圖裏所示的,我懷疑是這個class為page-header的給我埋了一個坑,只能用一個元素。
但很顯然我這是在瞎想。
錯誤依然。
腫麽辦?
還是老老實實的滾回去看一下,老師的源碼吧,我checkout了老師的源碼。
我立馬發現了一個問題。
我在hello.py中有一處和老師的不一樣,我用datatime.now替換了utcnow。想象這是極有可能這樣才出錯的,因為傳過去參數多解析了一個/。
我改了一下,還是報錯。
真的人生都灰暗了。
這不可能有bug吧,我今天這一天....
現在回過頭來想象,其實剛剛那個報錯也不會那樣顯示的,我們上面的截的報錯信息,其實都是模板裏面的問題。主程序並不會滲透到那裏去。
如果是參數解析不出來,也是在主程序這道就基本做不到了。
沒辦法,我只能再去看一下index.html。我突然恍然大悟....
相信大家都能發現問題在哪了,有時候就是這麽無奈吧,也算是折騰了。
所以記錄一下。
最終效果圖,
重新撿起flask(三)