第四章 Jinja2模版
Posted wqbin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四章 Jinja2模版相关的知识,希望对你有一定的参考价值。
模板简介:
在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中的页面大多是带有样式和复杂逻辑的html代码,这可以让浏览器渲染出非常漂亮的页面。目前市面上有非常多的模板系统,其中最知名好用的就是]inja2和Mako,
这两个模板的特点和不同:
1.Jinja2:]inja是日本寺庙的意思,并且寺庙的英文是temple和模板的英文template的发音类似。Jinja2是默认的仿Django模板的一个模板引擎,由F1ask的作者开发。它速度快,被广泛使用,并且提供了可选的沙箱模板来保证执行环境的安全,它有以下优点:
- 让前端开发者和后端开发者工作分离。
- 减少F1ask项目代码的耦合性,页面逻辑放在模板中,业务逻辑放在视图函数中,将页面逻辑和业务逻辑解耦有利于代码的维护。
- 提供了控制语句、继承等高级功能,减少开发的复杂度。
2.Marko:Marko是另一个知名的模板。他从Django、Jinja2等模板借鉴了很多语法和APl,他有以下优点:
- 性能和]inja2相近
- 有成功的案例有,大型网站在使用,Reddit和豆瓣都在使用。
- 有知名的web框架支持。Pylons和Pyramid 这两个web框架内置模板就是Mako
- 支持在模板中写几乎原生的Python语法的代码,对Python工程师比较友好,开发效率高。
- 自带完整的缓存系统。当然也提供了非常好的扩展借口,很容易切换成其他的缓存系统。
以上是关于第四章 Jinja2模版的主要内容,如果未能解决你的问题,请参考以下文章
第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法
Flask第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法
Flask最强攻略 - 跟DragonFire学Flask - 第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法