6-模板初步使用

 官网:

        中文版: 介绍-Jinja2中文文档

        英文版: Template Designer Documentation — Jinja Documentation (2.11.x)

模板语法 

1. 模板渲染

(1) app.py 准备数据

import json

from flask import Flask,render_template

import settings

app = Flask(__name__)
app.config.from_object(settings)  # 加载配置文件


class Girl:  # 自定义类
    def __init__(self, name):
        self.name = name
        self.gender = "女"

    def __str__(self):
        return self.name


@app.route("/show")
def show():
    name = "coco"  # str
    age = 18  # int
    firends = ["A", "B", "C"]  # list
    dict1 = {"gift": "包"}  # dict
    # 创建对象
    girlfriend = Girl("lili")  # 自定义的类构建的类型: Girl类型
    
    # 向模板传递数据
    return render_template("index.html", name=name, age=age, firends=firends, dict1=dict1, girl=girlfriend)




if __name__ == '__main__':
    app.run(port=8080)

(2) index.html 渲染数据

{{ name }}
{{ age }}
{{ firends.0  }}  {#{{ list.0 }} 同 {{ list[0] }}#}
{{ dict1.gift }}  {#{{ dict.key }} 同 {{dict.get(key) }}#}
{{ girl.name }}  {#{{ gril.name }} 同 {{ 对象.属性 }}#}


2. if 判断 和 for 循环 和 loop 内置变量

6-模板初步使用_第1张图片

 

(1)app.py 准备数据

from flask import Flask,render_template

import settings

app = Flask(__name__)
app.config.from_object(settings)  # 加载配置文件

@app.route("/show")
def show():
    girls = ["AA", "BBB", "CC"]
    dict1 = [
        {"name": "张三", "pwd": "123", "addr": "beijing", "phone": "13800000001"},
        {"name": "李四", "pwd": "123", "addr": "shanghai", "phone": "13800000002"},
        {"name": "王五", "pwd": "123", "addr": "guangzhou", "phone": "13800000003"},
    ]
    return render_template("show.html", grils=girls, users=dict1)


if __name__ == '__main__':
    app.run(port=8080)

(2) show.html渲染数据




    
    Title
    


 
    {#循环列表渲染数据#} {% for gril in grils %}
  • {{ gril }}
  • {% endfor %}

    {#循环列表,根据条件增加样式#} {% for gril in grils %} {% if gril|length>=3 %}
  • {{ gril }}
  • {% else %}
  • {{ gril }}
  • {% endif %} {% endfor %}

{# 循环字典 #} {% for user in users %} {% endfor %}
{{ user.name }} {{ user.pwd }} {{ user.addr }} {{ user.phone }}

{# 循环字典,根据条件增加样式 #} {% for user in users %} {% endfor %}
{{ loop.index }} {{ user.name }} {{ user.pwd }} {{ user.addr }} {{ user.phone }}

你可能感兴趣的:(Flask,flask)