flask中使用jinja2模板引擎
jinja2是由flask作者開發,模仿django的模板引擎
優點:
速度快,被廣泛使用
html設計和後端python分離
非常靈活,快速和安全
提供了控制,繼承等高階功能
模板中的變數:}
檢視傳遞給模板的資料
前面定義出來的資料
變數不存在,預設忽略
模板中的標籤:
控制邏輯
使用外部表示式
建立變數
巨集定義
block
塊操作 父模板挖坑,子模板填坑
extends
繼承以後保留塊中的內容
}
挖坑繼承體現的化整為零的操作
macro
}巨集定義,可以在模板中定義函式,在其他地方呼叫
巨集定義可匯入
例子1:
在index.html中定義macro標籤,定義乙個方法,然後去呼叫方法,結果是展示商品的id和商品名稱
商品id:}
商品名稱:}
}}
例子2:
在index.html頁面中定義乙個say()方法,然後解析該方法:
}
例子3:
定義乙個function.html中定義乙個方法:
建立了乙個使用者:}
在index.html中引入function.html中定義的方法
}
aabb
也可以獲取迴圈資訊loop
loop.first
loop.last
loop.index
loop.revindex
例子:
在檢視中定義乙個檢視函式:
@stu.route('/scores/')
def scores():
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的列表。題目要求:第乙個成績展示為紅色,最後乙個成績展示為綠色,其他的不變
語法:
}
capitalize 單詞首字母大寫
lower 單詞變為小寫
upper 單詞變為大寫
title
trim 去掉字串的前後的空格
reverse 單詞反轉
format
striptags 渲染之前,將值中標籤去掉
safe 講樣式渲染到頁面中
default
last 最後乙個字母
first
length
sumsort
例子:
django:
第一種方式:
第二種方式:
flask:
第一種方式:
第二種方式:
Flask操作指南四
flask預設並沒有提供任何資料庫操作的api 我們可以選擇任何適合自己專案的資料庫來使用 flask中可以自己的選擇資料,用原生語句實現功能,也可以選擇orm sqlalchemy,mongoengine sqlalchemy是乙個很強大的關係型資料庫框架,支援多種資料庫後台。sqlalchemy...
flask非同步操作 flask實現非同步任務
最近在開發同步mysql資料到redis的介面,因為資料同步涉及各種增刪查改,如果用同步實現,可能回造成連線超時 堵塞,所以,使用python實現非同步任務。實現 from flask import flask import time from concurrent.futures import t...
Flask請求方法 三
htttp的協議是基於應用層的協議,不需要刻意的去關注網路傳輸層的協議,它主要用於 客戶端與服務端之間的通訊方式。在http協議中,常用的請求方法主要是get,post,put,delete的請求方法。在http協議中,客戶端向服務端傳送請求的時候,需要帶上對應的請求 方法,服務端接收到請求方法後,...