python flask版本的基本使用

1.版本的使用

  1. {{}} 來表示變量名,這種 {{}} 語法叫做變量代碼塊{{your_dict[‘key’]}}
  2. 用 {%%} 定義的控制代碼塊,可以實現一些語言層次的功能,比如循環或者if語句{% if user %} {{ user }} {% else %} hello!
  3. 使用 {# #} 進行註釋,註釋的內容不會在html中被渲染出來{# {{ name }} #}

2.版本的過濾器

  1. safe:禁用轉義 --jiaja2模板會自動對html字符進行轉義, 可以設置safe過濾器來取消html轉義
  2. format:格式化輸出
# 模板: 需要內容替換的靜態頁面
# 模板渲染: 給模板進行內容替換   jinja2 模板渲染框架  本質 正則表達式進行替換

"""
模板渲染:
1> 需要將模板文件放入模板文件夾, 並且要設置對應的模板語言
2> 使用render_template()函數來渲染模板, 將需要替換的內容設置模板變量傳入模板中
3> 使用模板變量來進行內容替換
"""

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/')
def index():
    # render_template會讀取網頁中的html內容, 然後返回 替換後的html字符串
    keywoord = "北京"
    html_str = render_template("baidu.html", kw=keywoord)
    return html_str


class User:
    type = "vip"

    def is_login(self):
        return True


@app.route('/demo1')
def demo1():
    name = "zs"
    age_dict = {"zs": 20, "ls": 30}
    height_list = [1.7, 1.8]
    user = User()  # 自定義對象

    return render_template("demo1_template.html", name=name, age_dict=age_dict, height_list=height_list, user=user)


# 過濾器  本質: 函數   1> 必須設置形參來接收模板變量的值  2> 需要將轉換後的內容返回
# @app.template_filter("li_reverse")  # 裝飾器形式也可以給應用添加過濾器
def do_list_reverse(value):  # value = [1.7, 1.8]
    # value.reverse()  # 原列表會改變
    # return value

    return value[::-1]

# 應用添加過濾器
app.add_template_filter(do_list_reverse, "li_reverse")


@app.route('/demo2')
def demo2():
    name = "zs"
    height_list = [1.7, 1.8]
    age_list = [{"name": "zs", "age": 20}, {"name": "ls", "age": 30}]
    h1_tag = "<h1>我是標題</h1>"

    return render_template("demo2_filter.html", name=name, height_list=height_list, age_list=age_list, h1_tag=h1_tag)


if __name__ == '__main__':
    app.run(debug=True)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章