from flask import Flask, render_template

app = Flask(__name__)


# 定义类用于参数传递
class User:
    """
    对于参数age是后续加上去的,因为前期已经对于类进行过实例化了,所以在增加参数时,最好给上一个默认值.
    不然之前的写法都要重新修改.
    """
    def __init__(self, name, e_mail, age=18):
        self.name = name
        self.e_mail = e_mail
        self.age = age


@app.route("/")
def hello_world():
    """
    在模板中的使用:
    0. 对于普通参数的传递
    1. 对于类,通过user.name和user.e_mail进行访问.详见index.html
    2. 对于字典,可以通过person["name"]和person["e_mail"]进行访问,也可以通过
       上述类的访问形式进行访问. person.name person.e_mail 详见index.html
    index.html文件在最后
    """
    name = "Tina"
    user = User("Tina", "714514386@qq.com")
    person = {"name": "Tina", "e_mail": "714514386@qq.com"}
    return render_template("index.html", name=name, user=user, person=person)


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5001, debug=True)

效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>学习Flask之第三步</h1>
<!--对于模板中参数两边的大括号是Jinja2模板的使用规则-->
<!--普通参的使用-->
<p>用户名:{{ name }}</p>
<!--类参数使用-->
<p>用户名:{{ user.name }}</p>
<p>邮箱:{{ user.e_mail }}</p>
<!--数据字典参数使用 两种方法-->
<div>用户名:{{ person["name"] }}</div>
<div>邮箱:{{ person["e_mail"] }}</div>
<div>用户名:{{ person.name }}</div>
<div>邮箱:{{ person.e_mail }}</div>
</body>
</html>
index.html

 

posted on 2024-03-21 11:51  子线  阅读(19)  评论(0)    收藏  举报