模板变量,常用过滤器

一 模板变量

引言

静态页面:静态网页一经制成,内容就不会再变化,不管何人何时访问,显示的内容都是一样的。如果要修改网页的内容,就必须修改其源代码,然后重新上传到服务器上。

动态页面:指在网页文件中除了HTML标记以外,还包括一些实现特定功能的程序代码,这些程序代码使得浏览器与服务器之间可以进行交互,即服务器端可以根据客户端的不同请求动态产生网页内容。

变量的命名、语法、注意事项

1.命名:有字母、数字、下划线组成,不能以下划线开头,不易有空格和标点符号

2.语法:{{ 变量名}}

3.不要用python和django的关键字命名

模板的解析规则

①计算变量,返回其结果

②变量后有"." / dot(.),处理的优先级:

  1.字典的键值

  2.字典的属性

  3.数字的索引

③结果是可调用的,则返回调用的结果(这个调用不可携带参数,若他带了参数或者这个调用返回的是个空值,django都不将其渲染到前端页面,全部显示为空)

二 过滤器

作用

对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来。

语法

{{fruits|lower}}

链式管道

进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换成大写

{{fruits|lower|capfirst}}

使用参数

过滤器可以使用参数,在过滤器名称后面使用冒号”:”再加上参数

比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器,

 {{fruits|cut:" "}}

注意:使用参数的时候,冒号和参数之间不能有任何空格,一定要紧挨着。

三 常用过滤器

add

   使用形式为:{{ value | add: "2"}}
    意义:将value的值增加2

date
   使用形式为:
      (a) {{ value | date:"D d M Y" }},例如,如果value是一个datetime对象(datetime.datetime.now())那么输出将是字符串"Wed 09 Jan 2008"
     (b) {{ value | date }},这种形式没有格式化字符串,这时候,格式化字符串会自动采用DATE_FORMAT所设置的形式。
      意义:将日期格式数据按照给定的格式输出

default
    使用形式:{{ value | default: "nothing" }},例如,如果value是“”,那么输出将是nothing

first

   使用形式:{{ value | first }}

slice

   使用形式:{{some_list | slice:":2"}}

length

   使用形式:{{ value | length }}

   意义:返回value的长度。

length_is

   使用形式:{{ value | length_is:"arg"}}

   意义:返回True,如果value的长度等于arg的时候,例如:如果value是['a','b','c'],arg是3,那么返回True

safe

   使用形式:{{value | safe}}

   意义:当系统设置autoescaping打开的时候,该过滤器使得输出不进行escape转换

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/cmxbky1314/p/10402338.html