首页 > 编程 > Python > 正文

详解flask入门模板引擎

2020-02-15 22:27:37
字体:
来源:转载
供稿:网友

模板引擎

说明:模板文件就是按照一定的规则书写的展示效果的HTML文件 模板引擎就是负责按照指定规则进行替换的工具

模板引擎选择jinja2

一、渲染模板的方法

1、将渲染的模板进行返回

render_template()

2、渲染字符串返回

render_templates_string()

实例

@app.route('/')def index():  #将模板内容响应给用户  return render_template('index.html')  #渲染一内容响应给用户  return render_template_string('<h1 style="color:green;font-size:18px;">原谅色</h1>')

二、模板的语法

模板中只存在俩种语法

1、变量

{{ var }}

#像模板文件中传参return render_template('index.html',title='首恶'){{ title }}

2、标签

{% 标签名 %}

注意:

在模板中使用字典中的键 需要像使用对象得方式来调用

{{data.key}}

如果在模板中给定的变量不存在 则插入的是空字符串 不会报错

三、过滤器

过滤器使用管道符 | 来使用的

1、{{ var|abs }} 返回一个数值的绝对值

2、default 设置默认值

只有当给定的变量不存在时 则执行默认值

当设置default的boolean的时候 会执行默认值

<li>{{ data.bool|default('我是默认值',boolean=True) }}</li>

3、first: 取出变量中的第一个字符

4、last: 取出变量中的最后一个字符

5、format: 字符的格式化

<li>{{ '我叫%s 我今年%d岁了 我的存款为 %.2f'|format('罗铁汉',38,23) }}</li>

6、length: 返回变量值的长度

7、join: 拼接成字符串

<li>{{ [1,2,3,4]|join('') }}</li><li>{{ [1,2,3,4]|join('x') }}</li>

8、safe: 不转义标签 原样显示

9、lower 转为小写

10、upper 转为大写

11、replace 替换

<li>{{ data.string|replace('a','x') }}</li>

12、striptages 去除HTML标签

{{ data.html|striptags }}

四、标签

语法格式 :{% 标签名 %}

(1) if

实例

{% if data.bool %}    <li>{{ data.bool }}值为真</li>{% elif True %}    <li>{{ True }}职位真</li>{% else %}    <li>{{ data.bool }}值为假</li>{% endif %}

(2) for 循环

实例

{% for i in data.xxxx %}{# 错误的迭代方法TypeError: 'bool' object is not iterable #}{#  {% for i in data.bool %}#}    <li>{{ i }}</li>{% else %}    <li>当迭代的变量不存在时 则执行else</li>{% endfor %}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表