博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django template过滤器
阅读量:6677 次
发布时间:2019-06-25

本文共 2248 字,大约阅读时间需要 7 分钟。

转载:

一 模板的组成

  • HTML代码+逻辑控制代码

二 逻辑控制代码的组成

1 变量(使用双大括号来引用变量)

{
{ var_name }}

2 标签(tag)的使用(使用大括号和百分号组成来表示使用tag)

{% load staticfiles %}

3 过滤器(filter)的使用

{
{ ship_date|date:"Fj,Y"}}
  • ship_date变量传给data过滤器,data过滤器通过使用Fj,Y这几个参数来格式化数据。|代表类似Unix命令中的管道操作。

三 常用标签(tag)

1 {% if %}

  • 可以使用and,or,not来组织你的逻辑,但不允许and和or同时出现的条件语句中。新版本已经支持{% elif %}这样的用法

2 {% ifequal %}{% ifnotequal %}

  • 比较是否相等,只限于简单的类型,比如字符串、整数、小数的比较,列表、字典、元组不支持。

3 {% for %}

  • 用来循环一个list,还可以使用reserved关键字来进行倒序遍历,一般可以用if语句来西先判断一下列表是否为空,在进行遍历;还可以使用empty关键字来进行为空时候的跳转。

  • **for标签中可以使用forloop

forloop.counter: 当前循环计数,从1开始forloop.counter0: 当前循环计数,从0开始forloop.recounter: 当前循环倒数计数,从列表长度开始forloop.recounter0: 当前循环倒数计数,从列表长度减1开始,标准forloop.first: bool值,判断是不是循环的第一个元素forloop.last: bool值,判断是不是循环的最后一个元素forloop.parentloop: 用在嵌套循环中,得到parent循环的引用,然后可以使用以上参数

4 {% cycle %}

  • 在循环是轮流使用给定的字符串列表中的值。

5 注释

  • {# #}单行注释,{% comment %}多行注释

6 {% csrf_token %}

  • 生成csrf_token的标签,用于防止跨站攻击验证

7 {% debug %}

  • 调用调试信息

8 {% filter %}

  • 将filter标签标签圈定的执行过滤器操作

9 {% autoescape %}

  • 自动转义设置
{
{% autoescape off %}}{
{ value}}{
{% endautoescape %}}

10 {% firstof %}

  • 输出第一个值不等于False的变量

11 {% load %}

  • 加载标签库

12 {% now %}

  • 获取当前的时间

13 {% spaceless %}

  • 移除空格

14 {% url %}

  • 引入路由配置的地址

15 {% verbatim %}

  • 禁止render

16 {% with %}

  • 用更简单的变量名缓存复制的变量名

17 ….


四 常用过滤器(filter)

  • 经常使用的是通过变量来调用过滤器)

1 add

  • 给变量加上相应的值
{
{ value|add:"2" }} # 空格不要乱加

2 addslashes

  • 给变量中的引号(双引号、单引号)前加上斜线

3 capfirst

  • 首字母大写

4 cut

  • 从字符串中移除指定的字符
{
{ value|cut:" " }}

5 date

  • 格式化日期字符串

6 default

  • 如果值是False,就替换成设置的默认值,否则就使用本来的值(空字符串”“、空列表[]、空字典{}、空元组()、None在python里也是False)

7 default_if_none

  • 如果只是None,就替换成设置的默认值,否则就使用本来的值

8 dictsort

  • 按照设定的参数(key)对应的value对列表进行排序

9 dictsorted

  • 和上面恰好相反

10 divisbleby

  • 是否能够被某个数字整除,是的话返回True,否则返回False

11 escape

  • 对字符串进行转义。django默认自动转义,如果我们关闭了自动转义,这可使用escape过滤器来转义。

12 escapejs

  • 替换value中的某些字符,以适应JAVASCRIPT和JSON格式

13 filesizeformat

  • 格式化文件大小显示

14 first

  • 返回列表中的第一个值

15 last

  • 返回列表中的最后一个值

16 floatformat

  • 格式化浮点数

17 length

  • 求字符串或者列表的长度

18 length_is

  • 比较字符串或者列表的长度

19 urlencode

  • 对URL进行编码处理

20 upper\lower

  • 大写\小写

21 safe

  • 对某个变量关闭自动转义
{
{ value|safe }}

22 slice

  • 切片操作
{
{ some_list|slice:":2" }}

23 time

  • 格式化时间

24 timesince

  • 格式化时间(e.g. “4 days,6 hours”)

25 truncatechars

  • 按照字符截取字符串
{
{ value|truncatechars:5 }}

26 turncatewords

  • 按照单词截取字符串(其实就是按照空格来截取)

27 striptags

  • 过滤掉html标签

28 …


你可能感兴趣的文章
(九)Centos之搜索命令whereis、which和字符串搜索命令grep
查看>>
(二十一)JSP基础
查看>>
Web API 路由访问设置
查看>>
如何配置JDK环境变量
查看>>
四则运算二项目计划总结
查看>>
CSS3实现Animation动画
查看>>
WORD神操作!第一个技巧你就傻眼了!
查看>>
js中数组连接concat()
查看>>
HDU 2159 FATE
查看>>
docker-compose 意见搭建Samba文件共享服务
查看>>
Keepalived+Nginx搭建主从高可用并带nginx检测
查看>>
VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)
查看>>
8.10模拟赛
查看>>
走进c++0x,体验不一样的c++
查看>>
tomcat启动报错
查看>>
【转】Centos yum 换源
查看>>
标准字符串函数及 字符串类--数据结构
查看>>
Hibernate内测总结
查看>>
matplotlib.pyplot如何绘制多张子图
查看>>
excel 常用设置
查看>>