jinja2介绍

  jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。

jinja2的优点

   jinja2之所以被广泛使用是因为它具有以下优点:

1.相对于Template,jinja2更加灵活,它提供了控制结构,表达式和继承等。

  1. 相对于Mako,jinja2仅有控制结构,不允许在模板中编写太多的业务逻辑。
  2. 相对于Django模板,jinja2性能更好。
  3. Jinja2模板的可读性很棒。

安装jinja2

  由于jinja2属于第三方模块,首先需要对其进行安装

`pip3 install jinja2`

  测试模板是否安装成功

`python ``-``c ``"import jinja2"` `# 没有报错就表示安装成功``# 必须用双引号"`

jinja2语法

  作为一个模板系统,它还提供了特殊的语法,我们按照它支持的语法进行编写之后,就能使用jinja2模块进行渲染。

基本语法

  在jinja2中,存在三种语法:

  1. 控制结构 {% %}
  2. 变量取值 {{ }}
  3. 注释

jinja2变量

  jinja2模板中使用 {{ }} 语法表示一个变量,它是一种特殊的占位符。当利用jinja2进行渲染的时候,它会把这些特殊的占位符进行填充/替换,jinja2支持python中所有的Python数据类型比如列表、字段、对象等。

this is a dicectory:{{ mydict['key'] }}
this is a list:{{ mylist[3] }}
this is a object:{{ myobject.something() }}

jinja2中的过滤器

  变量可以通过“过滤器”进行修改,过滤器可以理解为是jinja2里面的内置函数和字符串处理函数。

  常用的过滤器有:

过滤器名称 说明
safe 渲染时值不转义
capitialize 把值的首字母转换成大写,其他子母转换为小写
lower 把值转换成小写形式
upper 把值转换成大写形式
title 把值中每个单词的首字母都转换成大写
trim 把值的首尾空格去掉
striptags 渲染之前把值中所有的HTML标签都删掉
join 拼接多个值为字符串
replace 替换字符串的值
round 默认对数字进行四舍五入,也可以用参数进行控制
int 把值转换成整型

最新文章

  1. java replace和replaceAll
  2. C#之事件
  3. Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen
  4. Struts2--ONGL--值栈
  5. 测试经验总结(“二次开发”)
  6. [py] 导入模块 reload(sys)
  7. Python+Django+Eclipse 在Windows下快速开发自己的网站
  8. mysql基础:列类型--整型
  9. app.use(express.static)设置静态文件目录小解
  10. Failed to initialize component [org.apache.catalina.webresources.JarResource
  11. 【转载】【吵架】能力 说清自己的能力。表达清楚 ;别人发飙你也要撕b;换位思考,把自己当领导层
  12. C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自己定义光标,QQ截图时的光标
  13. Android基础之6.0系统以上的权限分配
  14. nodejs学习笔记<七> 路由
  15. 一键安装lnmp1.5
  16. [Winform]使用winform制作远程桌面管理工具
  17. ETL__pentaho__SPOON_PDI
  18. 安卓monkey自动化测试,软硬回车
  19. Jquery 中 .trigger 的用法
  20. golang环境安装

热门文章

  1. Windows 全绿色安装Mysql
  2. 对opencv读取的图片进行像素调整(1080, 1920) 1.cv2.VideoCapture(构造图片读取) 2.cv2.nameWindow(构建视频显示的窗口) 3.cv2.setWindowProperty(设置图片窗口的像素) 4.video_capture(对图片像素进行设置)
  3. Android studio 自动导入(全部)包 import (转)
  4. Centos7 Devstack [Rocky] 重启后无法联网
  5. How to run a VBA macro when new mail is received in Outlook
  6. MyBatis Mapper Demo
  7. 七十八:flask.Restful之flask-Restful标准化返回参数以及准备数据
  8. Python 自动化
  9. jenkins凭证与新建任务
  10. golang实现四种排序(快速,冒泡,插入,选择)