flask成長記(二)

2021-07-26 11:17:45 字數 1331 閱讀 8949

蝸牛真的是蝸牛啊,就jinja2這麼個東西也抽象的暫且理解不了。

不過也真是,你弄那麼複雜幹什麼啊?說的裝逼的。

這麼理解jinja2這個東西:先把引擎這倆字兒拋開。

一般情況下,會有你提交給伺服器東西,伺服器存入到資料庫和伺服器返回給使用者資料這兩個操作。

模板是用在後面這個返回給使用者這個操作。

你總不可能在函式中返回一堆html**吧?雖然這的確可以。

於是也不知道哪個發明了模板,分離了前台和後台,前台的人做好html,後邊兒得人弄後台。

但是前後臺怎麼聯絡呢?

前台的html檔案留出若干個空位,後台的人拿到這個有空位的html檔案,把需要的資料填上去,返回給使用者。

那麼填資料這個動作就是渲染。

是的你沒聽錯,聽起來那麼高大上的渲染其實就是個很low的填空空。

jinja2 能識別所有型別的變數:

a value from a dictionary: 

}.p>

a value from a list:

}.p>

a value from a list, with a variable index:

}.p>

a value from an object's method:

}.p>

可以使用過濾器修改變數,過濾器名新增在變數名之後,中間使用豎線分隔。例如,下述

模板以首字母大寫形式顯示變數 name 的值:

hello, }

常用的過濾器

safe 渲染值時不轉義

capitalize 把值的首字母轉換成大寫,其他字母轉換成小寫

lower 把值轉換成小寫形式

upper 把值轉換成大寫形式

title 把值中每個單詞的首字母都轉換成大寫

trim 把值的首尾空格去掉

striptags 渲染之前把值中所有的 html 標籤都刪掉

完整的過濾器列表可在 jinja2 文件( 中

檢視。

jinja2 提供了多種控制結構,可用來改變模板的渲染流程。本節使用簡單的例子介紹其中

最有用的控制結構。

下面這個例子展示了如何在模板中使用條件控制語句:

hello, }!

hello, stranger!

另一種常見需求是在模板中渲染一組元素。下例展示了如何使用 for 迴圈實現這一需求:

}li>

ul>

團隊rpg成長記 二

9月19日 第二天,第一次體驗這種帶乙個小團隊的感覺,各種大小不一的錯誤,好多東西都是需要去想去提前做準備的,感覺這次團隊做東西真的是一次很好的體驗,雖然沒有真正體驗過公司中的開發是什麼樣子,但是也知道了,在寫 的時候是需要去考慮別人呼叫的,不可以只是想著自己,和以前自己悶頭寫 的感覺完全不一樣。不...

成長思考記

大三下開學來的時間是非常充裕的,考研 保研 出國,主意已定,所有的東西彷彿瞬間改變了意義。於是,我又有了時間去讀書,去思考,去成長。和同學談 忍經 沒有共鳴。他們剛聽到這書名字就堅決反對,為什麼要忍!要的就是個性!呵,無語,三字以蔽之 年輕人!許多人不讀此書,可能讓人粗略想到的是 忍氣吞聲 之類的意...

小白成長記

2011 4 12 今天安排的任務是把測試環境搭建好,但是事情的發展總是跟計畫有所出入,有時甚至大相徑異,尤其在你對你要做的事情不是很熟甚至相當陌生的情況。me很不幸,從上午八點半忙到晚上快十點,刨除中間吃飯的兩個小時時間,也算是全天性投入了,最後居然還是沒成功。me的任務是安裝 redhat4.7...