当前位置:   article > 正文

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

jinjia2

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

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

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

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

{
  { user }}
{
  { user.name }}
{
  { user.length }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

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

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

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

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

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

{# 选择语句 #}
<ul>
	{% if user in users_list1 %}
		<li
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/191434
推荐阅读
相关标签
  

闽ICP备14008679号