python
flask
jinja2
上一節中我們知道如何應用模板來渲染網頁,這一節要來瞭解如何利用模板語法(jinja2)搭配python做參數的處理。
透過render_template
,我們已經成功的將整個html文件內容渲染到客戶端呈現,這時候,如果有傳遞參數需求的時候該如何處理?
我們先調整python程式
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/para/<user>')
def index(user):
return render_template('abc.html', user_template=user)
if __name__ == '__main__':
app.debug = True
app.run()
第8行:user_template
是送到jinja2
的參數,user
是內容,這內容來自於路由參數
接著調整html文件,要設置接收由後端所傳過來的參數user_template
,直接調整上一節所建立的abc.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello Page</title>
</head>
<body>
{{ user_template }} love Flask APP
</body>
</html>
第8行:我們利用了大括號{{ 參數 }}
來包住後端傳過來的參數,這是jinja2
的語法
執行專案,開啟瀏灠器輸入連結http://127.0.0.1:5000/para/Shaoe
,就可以看到參數成功的被傳到前端,如下圖:
利用render_template
搭配參數的設置,我們成功的將後端的資料傳到前端,也瞭解到可以在html文件上利用{{ 參數 }}
的方式來接收後端傳過來的資料,基本上幾乎python格式都可以傳遞,這部份可以參閱jinja2文件,也再次的強烈建議務必快速閱讀一次官方文件。
上一話:Flask實作_基礎_05_render_template
下一話:Flask實作_基礎_07_POST and GET