Jinja2语法

介绍

大概介绍一下,主要介绍模板(模板仅仅是文本文件。它可以生成任何基于文本的格式(HTML、XML、CSV、LaTex 等等)。它并没有特定的扩展名,.html.xml都是可以的。)模板包含变量或表达式 ,这两者在模板求值的时候会被替换为值。模板中 还有标签,控制模板的逻辑。模板语法的大量灵感来自于 Django和Python。

Jinja2是一个现代的,设计者友好的,仿照Django模板的Python模板语言。它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全.特征如下:

  • 沙箱中执行
  • 强大的HTML自动转义系统保护系统免受XSS
  • 模板继承
  • 及时编译最优的python代码
  • 易于调试。异常的行数直接指向模板中的对应行
  • 可配置的语法

—选自 http://docs.jinkan.org

python中的*与**用法

在Python中经常会见到以下一些用法,如在函数调用中fun1(*vars)|fun2(**vars),以及在函数定义中如def fun1(*param) or def fun2(**param)这些形式。下面就针对这些情况使用具体例子进行一下说明。