4 Template层- HTML转义
2024-08-28 10:59:24
1.HTML转义
- Django对字符串进行自动HTML转义,如在模板中输出如下值:
视图代码:
def index(request):
return render(request, 'temtest/index2.html',
{
't1': '<h1>hello</h1>'
})
模板代码:
{{t1}}
- 显示效果如下图:
2.会被自动转义的字符
- html转义,就是将包含的html标签输出,而不被解释执行,原因是当显示用户提交字符串时,可能包含一些攻击性的代码,如js脚本
- Django会将如下字符自动转义:
< 会转换为< > 会转换为> ' (单引号) 会转换为' " (双引号)会转换为 " & 会转换为 &
- 当显示不被信任的变量时使用escape过滤器,一般省略,因为Django自动转义
{{ t1|escape }}
3.关闭转义
- 对于变量使用safe过滤器
{{ data|safe }}
- 对于代码块使用autoescape标签
{ % autoescape off %}
{{ body }}
{ % endautoescape %}
- 标签autoescape接受on或者off参数
- 自动转义标签在base模板中关闭,在child模板中也是关闭的
4.字符串字面值
- 手动转义
{ { data|default:"<b>123</b>" }}
- 应写为
{ { data|default:"<b>123</b>" }}
最新文章
- 20个设计精致的用户界面 PSD 源文件免费下载
- dedecms /include/helpers/archive.helper.php SQL Injection Vul
- DEV GridControl.TableView FocusedRow选中行背景颜色
- R语言学习笔记:绘制地图
- iOS 通过二进制判断图片类型
- Apache下PHP的几种工作方式
- (译) 《Javascript 24条最佳实践》
- Redis中的value包含中文显示的问题?
- 02将代码开源到github(不会使用github的来看看吧)
- Thinkphp中的volist标签(查询数据集(select方法)的结果输出)用法简介
- 7.Swift翻译教程系列——控制循环的流程
- 关于RuntimException
- python 离群点检测
- Codeforces 844F Anti-Palindromize 最小费用流
- centos7.1安装tomcat8
- HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等
- [C++] 用Xcode来写C++程序[6] Name visibility
- url参数中有+、空格、=、%、&;、#等特殊符号的问题解决
- 从javascript读取cookies说开去:谈谈网页的本地化存储
- 1.Android JUnit Runner(使用AndroidStudio)
热门文章
- 北航oo作业第三单元小结
- 从零开始的全栈工程师——js篇2.15(offsetLeft)
- Android 从零开始搭建一个主流项目框架—RxJava2.0+Retrofit2.0+OkHttp
- 【c++】用c++编写的求任意区间的素数的小程序
- linux 命令——35 ln(转)
- tomcat下的公共jar包配置
- POJ - 3111 K Best(二分)
- 数组使用NSUserDefaults存储的问题,
- javaweb基础(34)_jdbc处理mysql大数据
- Bootstrap历练实例:警告框(Alert)插件事件