Django 模板过滤器详解
Django 模板过滤器详解
Django 模板过滤器详解
在基于 Django 的网站开发过程中,模板过滤器是常用的工具之一,用于显示格式的转换、判断处理等。以下是一些常用的 Django 过滤器列表及其用法示例。
文本转换
小写
{{ name | lower }}
首字母大写
{{ "abcd"|capfirst }}
全部大写
{{ "abcd"|upper }}
标题化
{{ "a b c d e f"|title }}
字符串格式化
{{ 3|stringformat:"02i" }}
日期与时间
格式化日期
{{ pub_date | date:"F j, Y" }}
时间格式化
{{ 时间变量|time:"P" }}
计算已过时间
{{ datetime|timesince }}
计算剩余时间
{{ datetime|timeuntil }}
数学运算
加法
{{ 123|add:"5" }}
四舍五入
{{ 13.414121241|floatformat:"2" }}
列表操作
返回列表第一个元素
{{ list|first }}
返回列表长度
{{ list|length }}
判断列表长度
{% if 列表|length_is:"3" %}
排序
{{ 列表变量|dictsort:"数字" }}
逆序排序
{{ 列表变量|dictsortreversed:"数字" }}
切片
{{ 列表|slice:":2" }}
随机选择
{{ 列表|random }}
字符串处理
转义 HTML
{{ string|escape }}
字符串连接
{{ my_text|escape|linebreaks }}
截断字符串
{{ bio | truncatewords:"30" }}
删除指定字符串
{{ "123spam456spam789"|cut:"spam" }}
添加斜杠
{{ "AB'CD"|addslashes }}
字符串对齐
{{ "abcd"|center:"50" }}
删除 HTML 标签
{{ string|striptags }}
转换为 slug
{{ string|slugify }}
字符串分割
{% for i in "1abc1"|make_list %} ABCDE, {% endfor %}
字符串替换
{{ "abcdefghijklmnopqrstuvwxyz"|phone2numeric }}
其他
默认值
{{ value|default:"(N/A)" }}
条件判断
{% if 92|divisibleby:"2" %}
文件大小格式化
{{ 21984124|filesizeformat }}
URL 编码
{{ string|urlize }}
布尔值转换
{{ boolean|yesno:"Yes,No,Perhaps" }}
单词计数
{{ "B C D E F"|wordcount }}
换行处理
{{ "abcd"|linebreaks }}
HTML 无序列表
{{ list|unordered_list }}
这些过滤器可以帮助开发者更灵活地处理数据展示,提高代码的可读性和可维护性。希望这些信息能够帮助大家更好地使用 Django 进行开发。
Django 模板过滤器详解
https://www.dearcloud.cn/2017/12/20/20200310-cnblogs-old-posts/20171219-Django模板过滤器详解/