[学习笔记] flask-Jinja2 render_template()

一、使用方法:

return render_template('xx.html',**context)

为渲染一个模板,通过模板文件夹找

当在pycharm里创建好一个flask project后,可以看到文件夹--templates

[学习笔记] flask-Jinja2 render_template()_第1张图片

在templates里写所需要的html文件就行了

1.1 当需要返回的html在templates文件夹下的子文件夹里时,如:

要在初始化文件声明:(建app的那条语句上,习惯性放在初始化文件上)

app = Flask(__name__, template_folder='../templates', static_folder='../static')

然后再使用。例--返回users文件夹下的xx.html

 return render_template('users/xx.html')

二、模板的语法

2.1  在模板中获取view中传递的变量值{{变量名}}

例:已经写好了一个变量赋值给users,需要把user传递给前端:

return render_template('users/xx.html',users=users)
#第一个users为给users起的名字,也可以不用user用别的
#第二个users为刚刚在后端代码上定义的users

在html里面定义一个p标签,接受users:

{{users}}

2.2 列表/字典传值等:

在html中接收:

a) 列表:

{{friend[0]}}    //(索引)

{{friend[:2]}}    //(切片)

{friend.0}    //(下标)

b) 字典:

{{dict1.get(‘gift’)}}    //(取值)

{{dict1.gift1}}       //(取key)

c) 元组元组接收可参考列表的接收

d) 集合:集合不能有下标只能传递整个集合 {{集合名}}

注意:c、d的结果为自己手动测试的结果,如有错误,请自己改正并记住!

2.3 传对象:

1) py文件中:

先创建个类,然后调用类,例我的类对象名为girl,语句和上面的相同:

return render_template('users/xx.html',girls=girl)

2) html中:

{{对象.属性}} 就可以访问girl的属性:


{{girl.name}}
{{girl.gender}}
{{girl.age}}

可得到girl的名字、姓名、年龄

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