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. Android 遍历sdcard中指定文件夹下的图片(jpg,jpeg,png)

    File scanner5Directory = new File(Environment.getExternalStorageDirectory().getPath() + "/scann ...

  2. jquery ui autoComplete自动完成

    官网:http://jqueryui.com/autocomplete 最简单的形式: var availableTags = [ "ActionScript", "Ap ...

  3. 转:Bitbucket使用方法

    一.软件及SSH keys: 由于我的Bitbucket账号的邮箱及用户名与Github相同,所以SSH Public Keys可以用Github的,登录Bitbucket,悬浮在用户名boliqua ...

  4. 7个鲜为人知却超实用的PHP函数

    PHP有许多内置函数,其中大多数函数都被程序员广泛使用.但也有一些函数隐藏在角落,本文将向大家介绍7个鲜为人知,但用处非常大的函数. 没用过的程序员不妨过来看看. 1.highlight_string ...

  5. 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建

    使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...

  6. js模仿jquery里的几个方法next, pre, nextAll, preAll

    /*siblings函数, 选取node的所有兄弟节点*/ function siblings(node){ if(node.nodeType === 1){ node.flag = true; // ...

  7. CSS基础深入之细说盒子模型

    Html任何一个元素(element)都可以当成一个盒子(box)来看待,可以结合现实中的盒子来理解下文,下文其中一些单词应该是通俗易懂的需要记录的单词. 基本情况 每一个盒子都有一个内容区域(con ...

  8. vim 退出保留显示的内容

    /*************************************************************************** * vim 退出保留显示的内容 * 声明: * ...

  9. ↗☻【编写可维护的JavaScript #BOOK#】第8章 避免“空比较”

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  10. 【转】armeabi和armeabi-v7a

    原文网址:http://blog.csdn.net/dxpqxb/article/details/7721156 在我们android APK的根目录有一个 libs文件夹,此文件夹下包含了armea ...