

Day27. 首先先來簡單做個Todolist頁面~
前言快要結尾了,稍微喘口氣,來做個簡單的Todolist頁面吧!會參考以下兩篇文章進行 I built the same app 3 times | Which Python Framework is best? Django vs Flask vs FastAPI 前端框架 - 先別急著學 React 稍微以這兩個為基底下去修改和融合~ 正題初始化首先先建立django project ..
Read more

Day26. render,終於要render context了!
前言昨天我們真的code一步一步的往裡面走了好深,終於是把目標檔名的檔案內容load進來了!接下來回到最開始的地方,好像要開始處理context也是就我們傳給他的ORM囉! 正題從昨天的位置接續下去吧!django.template.loader 而這邊的template呢,從昨天的探查可以得知是在django.template.backends.django中的Template class..
Read more

Day25. render到engine,處理一堆東西~
前言render裡面的engine究竟是什麼?而當中的get_template又做了什麼事呢?今天就好好的來一層一層往裡面看進去! 正題接續昨天的部分 往self.find_tamplate()看 這邊有又往裡面丟,丟給了loader.get_template()先看看loader是什麼~ loader在init的時候會被賦予 然後get_template_loaders()呢 會去..
Read more

Day24. render~我渲~
前言昨天我們看到了print ORM回傳的值,實際上會去觸發到SQL,那正常在使用的情況下又是什麼時候被觸發的呢!?根據debug toolbar和logging可以看到是render的時候被觸發的!那我們就來看看render有什麼特別的吧! 正題在進去看render之前,我們先觀察一下render 在vscode中滑鼠一指過去就可以看到相關參數和說明~那我們的todo看其來是對應到cont..
Read more

Day23. ORM觸發SQL的地方(這邊是print~)
前言昨天那邊我推測Todo只有在他被動作的時候才會去connect DB,所以真的在被使用的地方照昨天的寫法會是在render的時候!但今天先來看看print 正題首先先稍微驗證一下想法是不是正確的,觸發SQL的是print(todo),那在python中什麼會被print()觸發呢!?答案是magic method __repr__ or __str__ 那我們接著來看ORM filter回..
Read more

Day22. 今天來稍微看一下ORM的原始碼!
前言昨天我們看到了ORM是怎麼使用的,那麼今天就稍微來看一下ORM實際是怎麼做的吧,走到哪看到哪~ 正題我們現在有的線索就只有ORM的用法~ 直接點進去呢,會跑到這裡~ 這邊是.pyi的檔案,讓vscode能夠知道該class類別有什麼function那他實際是什麼類別呢,我們直接像上圖一樣print出來看看~<class 'django.db.models.manager...
Read more