Flask框架学习笔记9-jinjia2模板语言

Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全。
jinjia2的特点:

  • 强大的 HTML 自动转义系统保护系统免受 XSS
  • 模板继承
  • 及时编译最优的 python 代码
  • 可选提前编译模板的时间
  • 易于调试。异常的行数直接指向模板中的对应行。
  • 可配置的语法

jinjia2被叫做模板语言,又称为块语言,因为它的语法是以块为基础的,其中有两种元素,一种是变量,使用“{ { xxx }}”表示,另一种是语句,使用“{% xxxxxx %}”表示。

1、变量
变量使用“{ { }}”来包裹,变量既可以有属性,也可以像列表一样使用“下标”来访问
eg:

{
  { user }}
{
  { user.name }}
{
  { user.length }}

2、过滤器(本质就是一个用来进行筛选的函数)
在之前的flask项目中我们已经使用过过滤器了,例如safe过滤器,以及我们自定义的md过滤器。变量和过滤器之间使用管道符" | "连接,并且也 可以用圆括号传递可选参数。多个过滤器可以链式调用,前一个过滤器的输出会被作为 后一个过滤器的输入。
eg:

{
  { data3 | md |safe }}   作用:将data3转为md格式并防止转译。
 {
  { name|striptags|title }}    作用:会移除 name 中的所有 HTML 标签并且改写 为标题样式的大小写格式。
 {
  { list|join(', ') }}   作用:把一个列表用逗号连接起来

3、注释
在jinjia2中,默认使用“{# #}”进行注释
eg:

{
  { data3 | md |safe }}   {# 作用:将data3转为md格式并防止转译。#}

4、语句
在jinjia2中使用“{% %}”来表示语句,其中以循环语句和选择语句最为常用,jinjia2被称为块语言,所以在使用时一定要记得结尾,类似于HTMl标签一样是成对出现的,有头也有尾。{% xxx %}…{% endxxx %}
eg:

<ul>
{# 循环语句 #}
{% for item in seq %}
    <li>{
  { item }}</li>
{% endfor %}
</ul>

{# 选择语句 #}
<ul>
	{% if user in users_list1 %}
		<li
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值