Try   HackMD

Flask實作_基礎_06_render_template + 參數

tags: python flask jinja2

上一節中我們知道如何應用模板來渲染網頁,這一節要來瞭解如何利用模板語法(jinja2)搭配python做參數的處理。

作業說明

透過render_template,我們已經成功的將整個html文件內容渲染到客戶端呈現,這時候,如果有傳遞參數需求的時候該如何處理?

我們先調整python程式

  • file name: hello_flask.py
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

  • file name: 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