zoukankan      html  css  js  c++  java
  • django safe 过滤器--不对字符串进行转义(转)

    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的?
  • 相关阅读:
    lumen简单使用exel组件
    VIM 批量注释的两种方法 (转)
    linux时间校准 设置时间为上海时区
    lumen发送邮件配置
    centos 下安装redis 通过shell脚本
    shell 脚本接收参数
    linux设置系统变量
    linux通配符
    UCCI协议[转]
    一种编程范式:对拍编程
  • 原文地址:https://www.cnblogs.com/qq78292959/p/3273286.html
Copyright © 2011-2022 走看看