1. 程式人生 > >重新撿起flask(三)

重新撿起flask(三)

img ati 圖片 說明 check 我們 最終 content hello

記一次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(三)