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可以顯...