Django之tag标签和filter标签

时间:2024-04-21 09:37:04

1、Django的tag常见的标签,可以做一些简单的功能

  1. {%if%} 的使用主要用于做判断,还可以包含{%elif%} 这样的用法,最后要跟上{% endif %}。可以使用你的and,or,not来组织的逻辑。但不允许and和or同时出现在条件语句中。
  2. {% for i in li %}的使用,用于循环,后面加上{% endfor %}
  3. {% load %}: 加载标签库,很常用
  4. {% url %}:  引用路由urls配置的地址
  5. {% with %}:用更简单的变量名替代复杂的变量名
  6. {% verbatim %}: 禁止render
  7. {%csrf_token%}: 用于生成csrf_token的标签,用于防治跨站攻击验证

2、Django的filter过滤器,内置了大概有六十多个 {{ name|lower }}. 大概是这样使用,而且还可以多个连着使用,也就是chain

  1. add:给变量加上相应的值
  2. addslashes: 给变量中的引号前加上斜线
  3. capfirst: 首字母大写
  4. cut:从字符串中移除指定的字符
  5. date:格式化日期字符串:具体格式请参考https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#ref-templates-builtins-filters里面的date标签
  6. default:如果值是False,就替换成设置的默认值,否则就是用本来的值
  7. default_if_none:如果值是None,就替换成设置的默认值,否则就使用本来的值
  8. length:长度,不多说
  9. filesizeformat:将数字转换成文件大小格式
  10. floatformat:保留一位小数

  11. random:随机list里面的某个元素
  12. 。。。老多了,具体参考官方文档

3、{# greeting #}还可以注释

4、创建自定义tag和filter

  1. 必须在注册的app的目录下直接创建templatetags模块包

  2. 创建任意 .py文件,例如:my_tags_filters.py

  3. 在使用自定义自定义的tag和filter的html文件中导入之前创建的文件
  4. 使用simple_tag和filter(如何调用)

详细参考:https://docs.djangoproject.com/en/1.10/ref/templates/