Flask 框架下 Jinja2 模板引擎高层 API 类——Environment
Environment 类版本:
本文所描述的 Environment 类对应于 Jinja2-2.7 版本。
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,在渲染模板时自动把变量中的 <>& 等字符转换为 <、>、&。 |
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