1. 程式人生 > >Flask web開發之路四

Flask web開發之路四

color ase 如果 utf-8 pos char 渲染 turn pan

jinjia2模板

模板渲染和參數傳遞

項目結構如下:

技術分享圖片

主app文件代碼:

from flask import Flask,render_template

app = Flask(__name__)


@app.route(/)
def index():
    class Person(object):
        name = hyq
        age = 25
    p  = Person()
    context = {
        username:hyq,
        gender:,
        age:25,
        
person:p, websites:{ baidu: www.baidu.com, google: www.google.com } } return render_template(index.html,**context) if __name__ == __main__: app.run(debug = True)

index.html文件代碼如下:

<!DOCTYPE html>
<html lang="en">
<
head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 這是HTML文件中出現的文字 <p>用戶名:{{ username }}</p> <p>性別:{{ gender }}</p> <p>年齡:{{ age }}</p> <hr> <p>名字:{{ person.name }}</p> <
p>年齡:{{ person.age }}</p> <hr> <p>百度:{{ websites.baidu }}</p> <p>谷歌:{{ websites.google }}</p> </body> </html>

### Flask渲染Jinja2模板和傳參:
1. 如何渲染模板:
* 模板放在`templates`文件夾下
* 從`flask`中導入`render_template`函數。
* 在視圖函數中,使用`render_template`函數,渲染模板。註意:只需要填寫模板的名字,不需要填寫`templates`這個文件夾的路徑。
2. 模板傳參:
* 如果只有一個或者少量參數,直接在`render_template`函數中添加關鍵字參數就可以了。
* 如果有多個參數的時候,那麽可以先把所有的參數放在字典中,然後在`render_template`中,
使用兩個星號,把字典轉換成關鍵參數傳遞進去,這樣的代碼更方便管理和使用。
3. 在模板中,如果要使用一個變量,語法是:`{{params}}`
4. 訪問模型中的屬性或者是字典,可以通過`{{params.property}}`的形式,或者是使用`{{params[‘age‘]}}`.

前端展示效果:

技術分享圖片

Flask web開發之路四