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