首先需要了解幾個概念:
例:當用戶在網站中註冊了一個新賬戶,用戶在表單中填寫信息,然後點擊提交按鈕。
業務邏輯:服務器接收到包含用戶輸入數據的請求,然後Flask把請求分發到處理註冊請求的視圖函數。
表現邏輯:這個視圖需要訪問數據庫,添加新用戶,然後生成響應回送給瀏覽器。
業務邏輯和表現邏輯混在一起會使得代碼難以維護和擴展。把表現邏輯移到模板中可以提升程序的可維護性。
模板:是一個包含響應文本的文件,其中包含用佔位變量表示的動態部分,其具體指只在請求的上下文中才能知道。
渲染:使用真實值替換變量,再返回最終得到的響應字符串,這一過程被稱爲渲染。
形式最簡單的Jinja2模板就是一個包含響應文本的文件,默認情況下,Flask再程序文件夾中的templates子文件夾中尋找模板。如:
例1.
templates/index.html:Jinja2模板
<h1>Hello world!</h1>
例2.
templates/user.html:Jinja2模板
<h1>Hello, {{ name}}</h1>