jinja2 模板,jinja2中文文档

  jinja2 模板,jinja2中文文档

  python开发前端和后端不分离web项目时,前端通常使用jinja2模板语言。现在介绍一下jinja2模板语言的基本语法。

  普通变量变量表示

  格式:{ {变量名}}

  @ app . route(/strtest )def test():str 1= ASD return render _ template( temp 1 . html ,str 1=str 1)body h1 flask/h1 p { { str 1 } }/p/body

  循环控制

  格式

  当{% else %}列表为空时,执行默认语句块{% endfor %}测试:

  @ app . route(/test )def test():list 1=[]return render _ template( temp 1 . html ,list 1=list 1){ % for item in list 1% } { { item } } { % else % } { aaaaaaaaa } { % end for % }

  @ app . route(/test )def test():list 1=[1,2,3]return render _ template( temp 1 . html ,list1=list1)

  条件if条件判断

  格式:

  {% if condition 1 %}语句块1{% elif condition 2 %}语句块2{% else %}不满足所有条件{% endif %}测试。

  @ app . route(/test )def test():list 1=[ sad SDS , sadasdada , ssdsdsdfgg , sdsa , s ]return render _ template( temp 1 . html ,list 1=list 1)p { % for item in list 1% } { % if item length 8% } { { item } } br { % elif item length 6% } { { wwwwwwwwww www } } br { % else % } { QQ QQ } } br { % endif

  过滤器可以通过过滤器修改变量。过滤器通过管道符号()与变量分开,并且可以在括号中包含可选参数。一个变量可以链接多个过滤器。一个滤波器的输出可以应用于下一个滤波器。

  官方过滤器API:http://jinja.pocoo.org/docs/2.10/templates/#builtin-filters

  过滤器格式:{ {变量过滤器1过滤器2… }}

  一.字符串过滤器

  把hello变成大写字母

  {{ helloupper }}反转“hello”

  {{ helloreverse }}将“hello”的第一个字母大写

  {{ hellotitle}}将 hello 大写,然后反转。

  {{ helloupperreverse }}下面列出了常见的过滤器。

  说明滤镜safe是禁止转义的,渲染时不会转义特殊字符。将第一个字母大写,将其他字母小写,将所有字母大写标题大写,将每个单词的第一个字母修剪为大写,删除前导和尾随空格,striptags,删除所有HTML标签,join,将多个值拼接成一个字符串,Python-like join()函数replace将字符串的值舍入为整数舍入为int类型II。列表过滤器

  获取列表的第一个元素。

  {{ list1first }}获取列表中的最后一个

  {{ list1last}}排序

  {{ list1sort }}列表总和

  {{ list1sum}}计算列表的长度

  {{ list1length}} III。自定义过滤器

  例如,使用倒排列表自定义过滤器。

  第一种方法,装修法。

  @ app . template _ filter( list reverse )def list _ reverse(li:list):Li . reverse()返回Li第二个方法,通过app实例添加。

  def list _ reverse(Li:list):Li . reverse()return liapp . add _ template _ filter(list _ reverse, lireverse )

jinja2 模板,jinja2中文文档