1. 程式人生 > >Flask 模板(一)

Flask 模板(一)

eight def with borde col 所有 list body import

使用模板有助於將業務邏輯與表現邏輯分開,更易於維護。模板是已經建立的網頁代碼,其中部分動態數據需要在請求的上下文中用具體值替換。

flask中使用了Jinja2模板引擎,儲存在templates文件夾中。

templates/index.html
<
h1>Hello World!</h1>

使用 {{ name }} 占位

templates/user.html
<h1>Hello, {{ name }}!</h1>

模板的渲染

模板的渲染即用真實值取代模板中的占位變量的過程。

from flask import Flask,render_template
@app.route(
/) def index(): return render_template(index.html,name=name)

變量可以從列表、字典和對象獲取。

<p>A value from a dict:{{ mydict[‘key‘] }}</p>
<p>A value from a list:{{ mylist[3] }}</p>
<p>A value from a list with a variable index:{{ mylist[intvar] }}</p>
<p>A value from a object‘s method :{{ myobj.mymethod() }}</
p>

使用過濾器修改變量:

{{ name|capitalize }}

常用過濾器:

過濾器名 說明
safe 渲染時不轉義
capitalize 首字母大寫,其他小寫
lower 小寫
upper 大寫
title 每個單詞首字母大寫
trim 去掉首尾空格
striptags 把值中所有html標簽刪掉

控制結構

{% if user %}
    Hello,{{ user }}
{% else %}
    Hello,Stranger!
{% endif %}

<ul>
    {% for comment in comments %}
        
<li>{{ comment }}</li> {% endfor %} </ul>

Flask 模板(一)