Environment 类版本:
本文所描述的 Environment 类对应于 Jinja2-2.7 版本。
 

Environment 类功能:

Environment 是 Jinja2 中的一个核心类,它的实例用来保存配置、全局对象,以及从本地文件系统或其它位置加载模板。
多数应用会在初始化时创建 Environment 实例,然后用它来加载模板。当然,如果系统有必要使用不同的配置,也可以创建多个 Environment 实例一起使用。
Environment 作为 Jinja2 模板引擎中的高层 API 类,其在想要深入挖掘 Jinja2 或开发扩展时有用。
 
Environment 类参数:
参数名称 参数描述
block_start_string  块开始标记符,缺省是 '{%',修改该参数可以改变 Jinja2 模板的风格,一般不建议修改。
block_end_string  块结束标记符,缺省是 '%}',修改该参数可以改变 Jinja2 模板的风格,一般不建议修改。
variable_start_string  变量开始标记符,缺省是 '{{',修改该参数可以改变 Jinja2 模板的风格,一般不建议修改。
variable_start_string  变量结束标记符,缺省是 '{{',修改该参数可以改变 Jinja2 模板的风格,一般不建议修改。
comment_start_string  注释开始标记符,缺省是 '{#',修改该参数可以改变 Jinja2 模板的风格,一般不建议修改。
comment_end_string  注释结束标记符,缺省是 '#}',修改该参数可以改变 Jinja2 模板的风格,一般不建议修改。
line_statement_prefix 指定行级语句的前缀,参见 Jinja2-2.2 行语句特性。
line_comment_prefix 指定行级注释的前缀,参见 Jinja2-2.2 行语句特性。
trim_blocks 如果该值被设置为 True,那么紧接块后的第一行将被忽略(注意:块并非变量标记),默认值为 False。
(If this is set to True the first newline after a block is removed (block, not variable tag!). Defaults to False.)
lstrip_blocks 如果该值被设置为 True,那么在块第一行前的空格及 Tab 将被忽略,默认值为 False。
(If this is set to True leading spaces and tabs are stripped from the start of a line to a block. Defaults to False.)
newline_sequence The sequence that starts a newline. Must be one of '\r', '\n' or '\r\n'. The default is '\n' which is a useful default for Linux and OS X systems as well as web applications.
keep_trailing_newline Preserve the trailing newline when rendering templates. The default is False, which causes a single newline, if present, to be stripped from the end of the template.
extensions Jinja2 的扩展的列表,可以为导入到路径字符串或者表达式类。
optimized should the optimizer be enabled? Default is True.
undefined Undefined or a subclass of it that is used to represent undefined values in the template.
finalize A callable that can be used to process the result of a variable expression before it is output. For example one can convert None implicitly into an empty string here.
autoescape XML/HTML 自动转义,缺省为 False。若为 True,在渲染模板时自动把变量中的 <>& 等字符转换为 &lt、&gt、&amp。
loader 模板加载器,加载器负责从某些位置(比如本地文件系统)中加载模板,并维护在内存中的被编译过的模块。 
cache_size 缓存大小,缺省为 50,即如果加载超过 50 个模板,那么则保留最近使用过多 50 个模板,其它会被删除。如果换成大小设为 0,那么所有模板都会在使用时被重编译。如果不希望清除缓存,可以将此值设为 -1。
auto_reload 如果设为 True,Jinja2 会在使用模板时检查模板文件的状态,如果模板有修改, 则重新加载模板。如果对性能要求较高,可以将此值设为 False。 
bytecode_cache If set to a bytecode cache object, this object will provide a cache for the internal Jinja bytecode so that templates don’t have to be parsed if they were not changed.
 
参考文档:
http://docs.jinkan.org/docs/jinja2/api.html?highlight=template#jinja2.Environment.get_template

Flask 框架下 Jinja2 模板引擎高层 API 类——Environment的更多相关文章

  1. flask框架下的jinja2模板引擎(2)(过滤器与自定义过滤器)

    flask框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html 这篇论文主要用来记录下 jinja2 的过滤器. 什么是过 ...

  2. flask框架下的jinja2模板引擎(3)(模板继承与可以在模板使用的变量、方法)

    flask 框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html flask 框架下的jinja2模块引擎(2):http ...

  3. Python框架学习之Flask中的Jinja2模板

    前面也提到过在Flask中最核心的两个组件是Werkzeug和Jinja2模板.其中Werkzeug在前一节已经详细说明了.现在这一节主要是来谈谈Jinja2模板. 一.为什么需要引入模板: 在进行软 ...

  4. 02 flask 请求钩子、异常捕获、上下文、Flask-Script 扩展、jinja2 模板引擎、csrf防范

    一 请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个 ...

  5. Flask从入门到精通之Jinja2模板引擎

    我们使用一个简单的例子切入到Jinja2模板引擎,形式最简单的Jinja2模板引擎就是一个包含响应文本的文件,实例如下: <h1>Hello World!</h1> 最简单的包 ...

  6. Ci框架整合smarty模板引擎

    Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...

  7. Jinja2模板引擎

    这里是Jinja2通用模板语言的文档. Jinja2 在其是一个 Python 2.4 库之前,被设计 为是灵活.快速和安全的.如果你接触过其它的基于文本的模板语言,比如 Smarty 或 Djang ...

  8. 使用jinja2模板引擎生成html文件

    使用jinja2模板引擎生成html文件 jinja2是纯Python的模板引擎,是仿照Django模板的Python模板语言. 它速度快,被广泛使用,提供了可选的沙箱模板执行环境保证安全. 使用pi ...

  9. 【Python-Django】Jinja2模板引擎配置教程详解!!!!

    Jinjia2的官方文档:http://jinja.pocoo.org/docs/2.10/ 1. 安装Jinja2扩展包 $ pip install Jinja2 2. 配置Jinja2模板引擎 T ...

随机推荐

  1. 213. House Robber II

    题目: Note: This is an extension of House Robber. After robbing those houses on that street, the thief ...

  2. HDU1535——Invitation Cards(最短路径:SPAF算法+dijkstra算法)

    Invitation Cards DescriptionIn the age of television, not many people attend theater performances. A ...

  3. “WIZnet杯”以太网技术竞赛即将开始!

  4. PHP array_chunk() 函数

    今天在CSDN上,看到了一个问题 一维数组 PHP code   array('0'=>'a',1=>'b',2=>'c',3=>'d',4=>'e',5=>'f' ...

  5. php 连接字符串. ZEND_ASSIGN_CONCAT/ZEND_CONCAT原理

    0.php代码 <?php $a='abc'; $b='def'; $c='ghi';$d='jkl'; $a.=$b.$c.$d; 1.BNF范式(语法规则) expr_without_var ...

  6. Glimpse

    给自己程序配好Glimpse. Glimpse.Mvc 有问题 遇到稍微复杂点的内套多个PartialView,内存就爆了彪1.7g,不开Glimpse一点问题都没.另外Glimpse.Nlog也有问 ...

  7. Windows Phone 获取网络类型(GSM/CDMA/WIFI/Ethernet)

    一.判断是否有网络数据连接: 最基本的网络状态判断,如果没有网络连接,一切操作都进行不下去啦. Microsoft.Phone.Net.NetworkInformation.NetworkInterf ...

  8. ZJOI2009 狼和羊的故事

    既然这题这么水,我就不写了…… 挖掘栅栏的本质:只能建在相邻两个,且建好后使得狼和羊之间不存在通路.而割的定义是:使S集和T集不存在通路.而题目又要求建的栅栏最少,于是就是最小割问题了. 从源点向所有 ...

  9. Spring Data JPA初使用

    我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度. 在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA. ...

  10. 【转】如何把ndk编译出来的可执行文件伪装成so打包到apk中

    原文网址:http://jeyechao.iteye.com/blog/2164286 ndk编译出来的共享库,eclipse会自动打包到apk中,而编译出来的可执行文件则不会. 要想可执行文件自动被 ...