django中html过滤器filter
http://blog.csdn.net/iloveyin/article/details/49560559
safe
让Html标签以及一些特殊符号(如<)生效,下面以例子说明:
##{{ |
striptags
取消所有Html标签,下面以例子说明:
##{{ |
linebreaks
让\n这种控制符号变化Html可以识别的
###{{ |
truncatechars
这是今天介绍的四个filter中唯一一个带有参数的,用来截取字符串的一段,用法如下:
##{{3 |
有了这四个工具之后我们来讨论一些具体问题,都是以上列举场景的详细情况。
不想显示出Html标签
一篇文章总有粗体或者什么的,总有红色蓝色的,也就说是必须要被装饰的,但是从数据库中取出来的只是一个长字符串,因此我们需要告诉前端如何显示这些文字,这个时候只需要简单的使用safe过滤器即可。
影响排版
往往问题都出现在什么时候呢?出现在截取字符串即truncatechars同时使用的时候,比如在首页的时候我只想显示某些文章的前100个字,也许采用truncatechars:100过滤器截取,可以采用以下方法:
{{100|safe |
但很多时候这样还是会出错,为什么呢?因为也许你截取的100个字符里Html语法本身就是错误的,比如有
却没有
。所以出错就很显然了,但是有些人这样用:
{{100 |
想截取但不想渲染
很多情况都可以通过上面的句子解决,但有些时候我们并不想在首页显示文章摘要的时候渲染这些文字,比如正文中有些红红绿绿的字,但是我们显示摘要的时候只想显示纯黑色得字,怎么办呢?没错,把上面的safe直接改成striptags即可。
在Js里调用
但情况再恶心点,比如你在Js里调用,你还得考虑什么?没错Js是不支持换行的引号的,就是说Js里的引号只支持到一行,下面的语法在Js里是错误的:
var'aaaaa bbbb' |
但是我们不能保证从数据库中取出来的东西都没有换行,也许你还想截取前100个字符,也许你还想不显示这些html标签,好吧,看下面的代码:
{{100|linebreaks |
再恶心一点?
你其实会发现空格,大于号,小于号这些东西会以 , <这些形式储存的,所以上面的语句执行之后可能还有会 这种神奇的东西!如果这些东西出现在首页,那是要死的节奏啊。所以下面这条语句完美解决,好吧,我得了不用上四个过滤器会死的病:
{{100|linebreaks |
django中html过滤器filter的更多相关文章
- Angularjs在控制器(controller.js)的js代码中使用过滤器($filter)格式化日期/时间实例
Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比 ...
- java Servlet中的过滤器Filter
web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- Servlet中的过滤器Filter用法
1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...
- Servlet中的过滤器Filter详解
加载执行顺序 context-param->listener->filter->servlet web.xml中元素执行的顺序listener->filter->stru ...
- java中的过滤器 --Filter
package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter ...
- Django中自定义过滤器的使用
我在这里做的是: 从数据库查出id递增的一些信息,展示在前台. 编写一个过滤器判断查出数据的id是偶数的返回True 奇数返回False 1 创建项目,创建应用,注册应用,配置settings.py文 ...
- Django中的过滤器
Django 过滤器 过滤器 描述 示例 upper 以大写方式输出 {{ user.name | upper }} add 给value加上一个数值 {{ user.age | add:”5” ...
- Servlet中的过滤器Filter
链web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- serlvet中的过滤器filter
1.概念 过滤作用,对从客户端向服务器端发送的请求进行过滤,也可以对服务器端返回的响应进行处理.它使用户可以改变一个request和修改一个 response..Filter 不是一个servlet, ...
随机推荐
- 一款开源免费跨浏览器的视频播放器--videojs使用介绍
最近项目中的视频功能,需要做到浏览器全兼容,所以之前用html5实现的视频功能就需要进行改造了.在网上翻了个遍,试来试去,在所有的视频播放器中,就数它最实际了.首先我们来看看它的优点: 1.它是开源免 ...
- geotrellis使用(二十一)自动导入数据
目录 前言 整体介绍 前台界面 后台控制 总结 一.前言 之前Geotrellis数据导入集群采用的是命令行的方式,即通过命令行提交spark任务来ingest数据,待数据导入完毕再启动 ...
- aud$定位错误用户密码登陆数据库的具体信息
环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...
- struts2学习笔记--ActionContext对象
什么是ActionContext? ActionContext是Map结构的容器,ActionContext是Action的上下文,类比ServletContext,存放着Action执行过程中的数据 ...
- react入门(1)
这篇文章也不能算教程咯,就算是自己学习整理的笔记把. 关于react一些相关的简介.优势之类的,随便百度一下一大堆,我就不多说了,可以去官网(http://reactjs.cn/)看一下. 这片主要讲 ...
- CDH集群主节点宕机恢复
1 情况概述 公司的开发集群在周末莫名其妙的主节点Hadoop-1的启动固态盘挂了,由于CM.HDFS的NameNode.HBase的Master都安装在Hadoop-1,导致了整个集群都 ...
- 【原创】kafka server源代码分析(二)
十四.AbstractFetcherManager.scala 该scala定义了两个case类和一个抽象类.两个case类很简单: 1. BrokerAndFectherId:封装了一个broker ...
- PHP5各个版本的新功能和新特性总结
因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征 本文目录:PHP5.2 以前:auto ...
- Android Studio :enable vt-x in your bios security,已经打开还是报错的解决方法
quote: For Windows 10: First of all, install the intelhaxm-android.exe located in the folder SDK\ext ...
- php怎么获取input输入框中的值去数据库比较显示出来
前端: <!--商品查询--> <input type="text" name="bianhao" value="" ma ...