• Flask 框架下 Jinja2 模板引擎高层 API 类——Environment


    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 ' ', ' ' or ' '. The default is ' ' 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
  • 相关阅读:
    20145223《Java程序程序设计》课程总结
    20145223《Java程序程序设计》第10周学习总结
    20145223《Java程序程序设计》实验报告5
    20145223《Java程序程序设计》第9周学习总结
    20145223 《Java程序程序设计》实验报告4
    20145223《Java程序程序设计》第8周学习总结
    20145223《Java程序设计》实验报告3
    20145223《Java程序程序设计》第7周学习总结
    20145223《Java程序程序设计》实验报告二
    node_promise
  • 原文地址:https://www.cnblogs.com/autopenguin/p/5900017.html
Copyright © 2020-2023  润新知