templates的语法

时间:2023-03-09 05:59:52
templates的语法

1.变量
  1.作用:将后端的数据传递到模板进行显示
  2.允许作为变量的数据类型
    字符串,整数,列表,元组,字典,函数,对象
  3.变量的语法
    变量传递给前端必须要封装到字典中才能传递给模板

    1.使用 loader 加载模板
      t = loader.get_template('xxx.html')
      html = t.render(dic)
      return HttpResponse(html)
    2.使用 render 加载模板
      return render(request,'xx.html', locals())     # 与falsk稍有不同
  4.在模板中使用变量
    {{变量名}}

2.标签, 建议去看官方文档。

  1.if标签

    {% if 条件%} 。。。{%elif 条件%} 。。。 {% else%} 。。。{%endif%}

    if语句的用法和flask中的一模一样

  2.for标签

    {% for 变量 in iteration %} 。。。{% endfor%}

    用法也和flask一模一样,除内置变量以外。    

    内置变量:forloop
    在循环中允许使用forloop内置变量来获取循环的信息
      forloop.counter : 记录当前循环遍历的次数
      forloop.counter0: 记录当前循环遍历的次数,从0开始
      forloop.revcounter : 记录当前元素从后向前算的位置
      forloop.revcounter0: 同上,从0开始记录
      forloop.first : 判断是否是第一次循环
      forloop.last : 判断是否是最后一次循环

3.过滤器
  1.什么是过滤器:在变量输出显示之前,对变量的数据进行筛选和过滤
  2.过滤器的语法:{{变量|过滤器:参数}}
  3.常用过滤器
    1.{{value|upper}}
      将value变为大写
    2.{{value|lower}}
      将value变为小写
    3.{{value|add:num}}
      将num追加到value之后
      value 和 num 也可以是列表
    4.{{value|floatformat:n}}
      将value四舍五入到n位小数
    5.{{value|truncatechars:n}}
      将value截取保留至n位字符,后面以...来表示未显示完成的内容