Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174667
  • 博文数量: 39
  • 博客积分: 929
  • 博客等级: 准尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-06 11:16
个人简介

文章分类

全部博文(39)

文章存档

2013年(3)

2012年(28)

2011年(8)

我的朋友

分类: 系统运维

2011-11-07 17:27:03

unix下的binutils短小精悍,用胶水(俺经常成管道为胶水)紧密结合在一起释放巨大的能量。django的过滤器也学习了这个方式,每个版本的django都自带了一些builtin的filter,当然我们也可以根据需要自己写。
在写代码的过程中,遇到在render内容到html后,想基于此修改或者获取一些其他的信息,我一般选择是自己写个filter,十有八九都能work!今天就碰到了个问题,自定义的filter不能工作。
一个同事要求在录入信息后,展示的时候要有间即所得的功能,例如,他输入了:
 
port1 => 保留<
port2 => comb1
port2 => comb3
 
在展示的时候也要能有换行以及一些特殊字符。
我的思路是在这些信息入库之前替换,以为这样就可以了,发现不能正常render,django将他们escape了,如何让django跳过转义?经过测试,发现如果render raw字符串,就能正常工作,可我用的是变量,如何将包含字符串的变量转换成raw的,愣是没找到方法,最后求救,老同事来了看看我写的filter,然后只简单在模板最后加了一个过滤器:|safe,就ok了!
 
safe

Marks a string as not requiring further HTML escaping prior to output. When autoescaping is off, this filter has no effect.

在django输出之前,要求不对字符串转义。当自动转义关闭的时候,这个过滤器失效。

看来还是要多看django doc!有没有方法将包含字符串的变量转换成raw的?
==over==
 
 
 
阅读(3529) | 评论(0) | 转发(0) |
0

上一篇:python 字符集转换

下一篇:freebsd vs linux

给主人留下些什么吧!~~