django首字符加粗过滤器的代码编写学习
来源:互联网 发布:恢复u盘数据哪个软件好 编辑:程序博客网 时间:2024/06/16 01:00
html模板代码<p>Dear {{ person_name|initial_letter_filter }}</p>
第一版
@register.filter(name='initial_letter_filter')#注册过滤器@stringfilter #转为字符串def initial_letter_filter(value): ''' 将首个字加粗 :param value:传入的值 :return:html代码 ''' first,other = value[0],value[1:] result = '<strong>{}</strong>{}'.format(first,other) return result
结果
与目标差距:输出字符被转义
解决方案:避免被转义
将filter加上is_safe标签@register.filter(name='initial_letter_filter',is_safe=True)#注册过滤器我加了,但是没用
文档中有这么一句话
This flag tells Django that if a “safe” string is passed into your filter, the result will still be “safe” and if a non-safe string is passed in, Django will automatically escape it, if necessary.
这个标志告诉Django 如果"安全"的字符串传递到您的过滤,结果仍将是"安全",如果一个非安全字符串传递,如果必要Django 会自动转义它。具体用法,在这个兄弟的博客里https://www.cnblogs.com/thunderLL/p/7645111.html被分析了,我也参照学习了他的,嗯。。有需要的跳吧
所以根据需求 选另一种方法 使用need_autoescape进行手动控制
@register.filter(name='initial_letter_filter',needs_autoescape=True)def initial_letter_filter(text, autoescape=True): first, other = text[0], text[1:] if autoescape: esc = conditional_escape else: esc = lambda x: x result = '<strong>{}</strong>{}'.format(first, other) return mark_safe(result)
阅读全文
0 0
- django首字符加粗过滤器的代码编写学习
- android 代码控制TextView的字体加粗
- Django模板(编写html代码
- java类得到汉字的首字符
- 根据输入的textField首字符排序
- 自己扩展django的过滤器
- django 中常用的过滤器
- django 过滤器的使用
- django 内置的模板过滤器
- django中过滤器 | 的运用
- Django学习:Templates过滤器(12)
- Django学习笔记8-编写带参数的视图
- Django 开发学习笔记(3)- 编写自定义的页面
- Django 过滤器
- django过滤器
- 编写自己的ISAPI过滤器
- Java编码过滤器的编写
- IText生成PDF,加粗字体的代码例子
- 关于androidstudio cmake那些事儿(一)
- 应用程序正在发送一个输入同步呼叫。。。
- 物联网推动智能家居应用加速发展
- 用递归方式实现二叉树查找算法
- Centos6安装shadowsocks及配置
- django首字符加粗过滤器的代码编写学习
- 保存更改sql starkeERP
- 自動化ルール、および、Apex トリガーはどのような順番で処理されますか?
- 比特币之后数字资产获青睐 莱德币成下一市场风口
- 链表操作详解
- 用SQL语句,删除掉重复项只保留一条
- 环境系统调优
- 智慧消防的基本原理和主要功能
- Ebean只查询部分属性问题