Flask框架 06 模板使用

2021-08-27 16:24:03 字數 2715 閱讀 5259

flask中使用jinja2模板引擎

jinja2是由flask作者開發,模仿django的模板引擎

優點:

速度快,被廣泛使用

html設計和後端python分離

非常靈活,快速和安全

提供了控制,繼承等高階功能

2.1 模板語法主要分為兩種:變數和標籤

模板中的變數:}

檢視傳遞給模板的資料

前面定義出來的資料

變數不存在,預設忽略

模板中的標籤:

控制邏輯

使用外部表示式

建立變數

巨集定義

2.2 結構標籤:

block

塊操作: 父模板挖坑,子模板填坑

extends

繼承以後保留塊中的內容

}

挖坑繼承體現的化整為零的操作

macro

}巨集定義,可以在模板中定義函式,在其他地方呼叫

巨集定義可匯入

例子1:

在index.html中定義macro標籤,定義乙個方法,然後去呼叫方法,結果是展示商品的id和商品名稱

商品id:}

商品名稱:}

}}

例子2:

在index.html頁面中定義乙個say()方法,然後解析該方法:

}

例子3:

定義乙個function.html中定義乙個方法:

建立了乙個使用者:}

在index.html中引入function.html中定義的方法

}

2.3 迴圈

aabb

也可以獲取迴圈資訊loop

loop.first   獲取第乙個

loop.last 獲取最後乙個

loop.index 獲取索引

loop.revindex

例子:

在檢視中定義乙個檢視函式:

@stu.route('/scores/')

defscores

(): scores_list = [21,34,32,67,89,43,22,13]

content_h2 = ''

content_h3 = ''

return render_template('scores.html',

scores=scores_list,

content_h2=content_h2,

content_h3=content_h3)

(該檢視函式,在下面的過濾器中任然使用其返回的content_h2等引數)

首先: 在頁面中進行解析scores的列表。題目要求:第乙個成績展示為紅色,最後乙個成績展示為綠色,其他的不變

2.4 過濾器

語法:

}
capitalize 單詞首字母大寫

lower 單詞變為小寫

upper 單詞變為大寫

title

trim 去掉字串的前後的空格

reverse 單詞反轉

format

striptags 渲染之前,將值中標籤去掉

safe 講樣式渲染到頁面中

default

last 最後乙個字母

first 第乙個字母

length 求長度

sum 求和

sort 排序

例子:

3.1 定義基礎模板base.html

"en">

3.2 定義基礎模板base_main.html

"stylesheet" href="}">

django:

第一種方式:

"stylesheet" href="">

第二種方式:

"stylesheet" href="/static/css/index.css">
flask:

第一種方式:

"stylesheet" href="/static/css/index.css">
第二種方式:

"stylesheet" href="}">

flask框架 模板

今天又是乙個精彩又無聊的一天,不過隨著知識的緩慢的增加我的內心也充滿了幹勁,雖然前進的有些緩慢 但我不會這麼容易放棄的,一定要相信自己,不要灰心 好了 不說廢話了 我自己聽的都有些受不了了 我呢 今天學習了模板,在這裡我給大家說說幾句 關於模板的 首先說一下模板的作用 模板可以承擔檢視函式又可以返回...

flask 模板使用

flask 模板使用 過濾器 default value,default value,boolean false 如果當前的變數沒有值,則使用引數中的值來代替。name default ivy 如果name不存在,則使用ivy來代替。boolean false預設是在這個變數為undefined的時...

Flask框架之模板引擎

視 件 index.py from flask import flask,render template,redirect,markup defgen input value return value defgen input2 value return markup value markup可以顯...