天天看點

Flask中的Templates - zengsf

Flask中的Templates

1.什麼是模闆

  模闆 , 在Flask 中就是允許響應給使用者看的網頁

  在模闆中,允許包含"占位變量"來表示動态的内容

  模闆最終也會被解析成字元串再響應給用戶端,這一過程通常稱為"渲染"

  Flask中的模闆是依賴于 Jinja2 的模闆系統

2.模闆的設定

  預設情況下,Flask會在程式檔案夾中的 templates 的子檔案夾中搜尋模闆

  預設情況下,需要手動建立 templates 檔案夾

3.模闆的渲染

  作用:在視圖中,将模闆檔案(xx.html)渲染成字元串之後,再響應給用戶端浏覽器

  使用與函數傳回時:return render_template(\'xxx.html\')

4.模闆中的文法

  1.變量:變量是一種特殊的占位符,告訴模闆引擎該位置的值是從渲染模闆時的資料中擷取出來的。

   在視圖中 :

   @app.route(\'/\')

   def index():

     return render_template(\'xxx.html\',變量1=值1,變量2=值2,..)

     return render_template(\'xxx.html\',name=\'laowang\',age=35)

   在模闆中 :

     {{變量名}}

     例如:<h1>{{name}}</h1>

  2.過濾器

   1.什麼是過濾器:過濾器是允許在變量輸出前改變變量的值

   2.文法

    {{變量|過濾器}}

    Jinja2 模闆中常見過濾器:

      過濾器名              說明

      capitalize    首字元變大寫,其他變小寫

      lower          将值轉換為小寫

      upper         将值轉換為大寫

      title             将值中的每個單詞首字元變大寫

      trim       去掉值兩邊的空格

@app.route(\'/02-var\')
def var():
    uname = "my name is zengsf"
    # 這裡的locals()會把你所有的變量都封裝成一個對象
    print(locals())
    return render_template(\'02-var.html\',params = locals())      

然後隻需要去02-var.html文本中進行調用就可以了

<h1>capitalize:{{params.uname|capitalize}}</h1>      
Flask中的Templates - zengsf