Flask_學習筆記_05: Flask中的網頁模板
今天來學習一下Flask中網頁模板以及網頁模板引數的使用。
如果你是使用Pycharm pro版的話,建立專案的時候,選擇Flask專案,所有的基礎檔案和資料夾Pycharm會自動幫你創建出來,在網上找了張圖,僅供參考:
選擇專案型別:Flask,這裡注意你的Python版本
建立好之後就是下面的樣子:
由於我用的是Pycharm community版本,沒有專案型別可選,但是自己補一下兩個資料夾就行,一個是static,一個是templates。
簡單說明一下,static是存放image, css等專案檔案的。templates是存放頁面模板等專案檔案的。
下面就模擬一個需求,使用者已經登入了,要在首頁顯示使用者的使用者名稱資訊,再隨便寫一句歡迎的話。這裡我們就要引入一個新的類:render_template,模板渲染。為什麼這麼叫?因為就是直接翻譯過來的,它的功能就是來渲染模板的,至於渲染這個詞,是繪圖術語,渲染在電腦繪圖中是指用軟體從模型生成影象的過程。從這個定義來理解的話,就是美化,填充模型,讓模型更好看吧。就這麼理解吧!
.py完整程式碼如下:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html', username='uncleBen')
if __name__ == '__main__':
app.run(debug=True)
需要注意的是:
首先,匯入Flask和render_template
其次,在使用的時候,一般就是return的內容做渲染,那就是return render_template(),這個render_template()函式裡需要傳一個最基本的引數就是你要渲染哪個頁面,告訴它html檔名就行,因為它預設就會去templates這個檔案下找你提供的html檔名,所以你的html檔案不要亂放,否則它會找不到的。另外一個引數就是你要在前端頁面中顯示什麼?今天這個例子是要顯示使用者名稱,拿就傳一個username引數進去。如有其它引數,也可以加,然後賦值。
好了,py檔案內容寫好了,那麼html裡的程式碼應該這麼寫呢?這麼才能拿到引數的值呢?來看一下html的程式碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> 歡迎<b>{{ username }}</b>來到您的個人主頁,這個頁面是templates資料夾中的index.html模板。 </body> </html>
很簡單,唯一跟普通HTML檔案的區別就是多了一個{{ username }},重點來了,在Flask專案的HTML中如下想引用引數(py檔案中定義的),必須要用雙花括號{{ }}括起來,就好了。so easy啊!
來看一下效果,上面Py程式碼裡我傳的username='uncleBen',效果如下:
然後我們再換一個使用者名稱,讓username='張無忌'
小結
- 模板檔案位置:應該放到templates資料夾下。
- 如果使用模板渲染函式,首先匯入render_template類。
- 使用render_template()函式時,要告訴這個函式要渲染的html檔名,還有引數名和值,如果有的話。
- 在HTML中引用引數的格式:{{引數名}},一定要這個格式,這是Flask的語法,其它格式無效。