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. 如何设置table的border-radius?

    遇到一个诡异的问题, 为table添加border-radius不起作用. 示例如下: #table1 { border-collapse: collapse !important; border-r ...

  2. 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013

    标题:Efficient Estimation of Word Representations in Vector Space 作者:Tomas Mikolov 发表于:ICLR 2013 主要内容: ...

  3. C 可变参数(C与指针实例)

    偶尔我们需要设计一些函数,它们的参数数目不是固定的,这样我们需要用到可变参数列表. 可变参数列表是通过宏来实现的,定义于stdarg.h头文件. 具体内容在<C与指针> ;         ...

  4. Android中Input型输入设备驱动原理分析<一>

    话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反正这个是没变的,在android的底层开发中对于Linux的基本驱动程序设计还是没变的,当然Android底层机制也 ...

  5. hdu 1412 (STL list)

    简单例题 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1412 list 相关博客:http://www.cnblogs.com/fangyukuan/a ...

  6. IE中Ajax数据缓存的问题

    在IE中,Ajax回来的数据会有缓存的现象发生,解决方式: 1,改变URL,每次请求加一个随机数参数Math.random()或者new Date().getTime(),这样IE会认为URL不一样, ...

  7. Cacti 'graph_xport.php' SQL注入漏洞

    漏洞版本: Cacti < 0.8.8b 漏洞描述: Bugtraq ID:66555 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. Cact ...

  8. poj2752 水题

    又2b了一次…… var s:ansistring; ans,pre:..] of longint; i,k,tot:longint; procedure main; begin pre[]:=;k: ...

  9. 百度分享不支持https的解决方案

    站点自从开启 https 之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品.. 怎么办呢?要如何解决 百度分享不支持https的问题呢, 跟着博主动动手,让你百度分享仍然能在https下 ...

  10. 【CSS】

    12个很少被人知道的CSS事实 通过CSS禁止Chrome自动为输入框添加橘黄色边框http://www.solagirl.net/override-chromes-automatic-border- ...