Flask操作指南三

2021-08-20 23:21:31 字數 2179 閱讀 6044

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協議中,客戶端向服務端傳送請求的時候,需要帶上對應的請求 方法,服務端接收到請求方法後,...