首页Django

Django Html代码过滤器详解

2020年9月9日 19:15654

Django是Python优秀的web程序,简单易用,MTV(Model View Template)模式。前端模板有个非常重要的过滤器(Filter),用来过滤后端数据在前端页面显示的格式。从本质上讲Filter是一个Python函数,取左端的为输入,分号后面为参数,进行处理后向右端输出。

Filter过滤器可以解决以下问题:

1、从数据库中获取带有Html标签的内容,前端转换为纯文本

2、从数据库中获取带有Html标签的内容,前端转换为装饰后的富文本

3、控制首页、栏目页文章截取、字数问题

4、解决JS调用数据库内容导致语法错误的问题

5、让Html特殊符号生效,正常显示

safe让Html标签及一些特殊符号生效

一篇文章总有字体加粗、颜色,也就是说内容需要被装饰。但从数据库中获取的内容只是一个纯文本字符串,因此我们需要告诉前端如何显示这些文字,这个用safe过滤器即可。

# 如果不加safe那么显示出来的就是纯文本内容,没有加粗效果

value = '<b>NAME</b>'
{{ value|safe }}

striptags删除所有Html标签

有些时候我们在首页、栏目页显示文章摘要的时候不想显示Html标签,比如文中字体颜色,字体加粗,段落标签,使用striptags即可。

# 如果不加striptags会显示引号里面所有文本
value = '<p>这是一个字符串</p>'
{{ value|striptags }}

linebreaks让Html可以识别控制符号

value = '这是一个\n字符串'
{{ value|linebreaks }}
# 如果加linebreaks 可以使\n生成换行符

truncatechars用来截取字符串

value = '这是一个字符串'
{{ value|truncatechars:3 }}

date格式化日期

value = '2020年9月9日 19:15'
{{ value|date:'Y-m-d' }}  # 输出结果:2020-09-09