Flask Web開發入門 模版引擎

2021-08-21 05:59:28 字數 1157 閱讀 7214

flask是乙個使用python編寫的輕量級web應用框架。其wsgi工具箱採用werkzeug,模版引擎則使用jinja2。

模板引擎(這裡特指用於web開發的模板引擎)是為了使使用者介面與業務資料(內容)分離而產生的,它可以生成特定格式的文件,用於**的模板引擎就會生成乙個標準的html文件。

我們可以把模版看成乙個含有變數的字串,它們的具體值需要在動態執行時才能知道。比如:

其中,name是乙個變數名,我們用}來表示他是乙個變數,給name傳遞不同的值,模版就會iu返回不同的字串。像這樣使用真實的值替換變數,再返回最終得到的響應字串,這一過程稱為渲染模版引擎就是渲染模版的程式

檢視函式夾雜了一些html的**,如果html**多了,程式就會變得難以理解和維護。檢視函式主要有兩部分邏輯:業務邏輯和表現邏輯。

業務邏輯:像上下文判斷,資料庫查詢等後台處理都算時業務邏輯;

表現邏輯:返回給前端的響應內容則算是表現邏輯,他們需要在前端展示。

將業務邏輯和表現邏輯混在一起,**看起來很不優雅,而且如果**變多了之後程式會變得難以理解和維護。所以良好的做法是將業務邏輯和表現邏輯分開,而模版引擎正好可以滿足這種需求。

乙個簡單的應用

# 從flask模版中匯入乙個flask類

from flask import flask

#也就是建立了乙個flask整合的開發web伺服器。flask用__name__這個引數

# 決定程式的根目錄,以便程式能夠找到相對於程式根目錄的資源檔案位置

#web瀏覽器把請求傳送給web伺服器,web伺服器再把請求傳送給flask程式例項,

#程式例項要知道對每個url請求應該執行那些**。

#如果瀏覽器訪問的根位址『/』,則flask程式例項就會執行函式hello().

def hello(name):

return "hello world"

if __name__=="__main__":

伺服器起動後,程式會進入輪詢,等待並處理請求。輪訓會一直執行,直至程式被終止。但是flask提供的web伺服器不適合在生產環境中使用。

三 Flask web開發快速入門

from flask import flask,url for,request,render template,session from werkzeug.utils import redirect,escape def index if username in session return log...

Flask Web開發入門 Jinja2

jinja2是基於python的模版引擎,它能完全支援unicode,並具有繼承的沙箱執行環境。它的設計思想 於django的模版引擎,並擴充套件了其語法和一系列強大的功能。預設情況下,flask在程式資料夾中的templates子資料夾中尋找模版。ununited.py from flask im...

Flask web開發流程

flask專案開發流程 搭建開發環境 pipenv pip pipfile virtualenv 安裝pip和pipenv 建立虛擬環境 pipenv install 為當前專案建立虛擬環境 pipenv shell 啟用虛擬環境 pipenv run python hello.py 執行程式 非虛...