django输出html内容的实例


Posted in Python onMay 27, 2018

最近在学习django,于是就用django做了一个简单的网站,用来练手,具体功能就是从网上抓取数据,然后放到我的网站上面,但是遇到一个问题就是django无法输出html格式的内容,只能以字符串的形式输出:

data = '<h1>hello world</h1>'
<p>{{ data }}</p>

我们目的是输出的是:

hello world

但是结果输出的是:

<h1>hello world</h1>

在网上搜了好久,终于找到解决办法:

对于单个变量使用django的过滤器,告诉Django这个字符串不用进行HTML转义,方法如下:

data | safe

对于一段模板内容可以使用autoescape标签,比如:

{% autoescape off %}
 {{ data }}
{% endautoescape %}

off 的意思是关闭对html的转义,而将off替换成on就表示进行html转义,默认进行html转义

注意:autoescape 具备继承性的,如果在父模版中定义了,则在子模版对应内容部分也存在此属性

我们可能会疑问,django为什么要将这些字符转义,而不是按原本html的内容输出呢?

我们举个例子:

需要用户输入用户名来注册,这个用户输入了用户名为:

<script type="text/javascript">alert('hello');</script>

假设他输入的长度合法,而且django也确实没显式提供什么特殊字符转换方法,那么每次在网页上面显示的时候,岂不是每次都弹出一个窗口,那么不是就很不安全啦。

为了解决这个问题,django默认将所有特殊的字符都转换成在html上面可以显示的内容,而不再包含转义功能!于是,也就出现了上面我想输出而输出而输出不了html的内容。

以上这篇django输出html内容的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python学习笔记:字典的使用示例详解
Jun 13 Python
Python实现提取文章摘要的方法
Apr 21 Python
python检查指定文件是否存在的方法
Jul 06 Python
在Django框架中运行Python应用全攻略
Jul 17 Python
django 2.0更新的10条注意事项总结
Jan 05 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
Python学习笔记之For循环用法详解
Aug 14 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
Python 创建守护进程的示例
Sep 29 Python
Python中判断输入是否为数字的实现代码
May 26 #Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
May 26 #Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 #Python
Python带动态参数功能的sqlite工具类
May 26 #Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 #Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 #Python
Python多重继承的方法解析执行顺序实例分析
May 26 #Python
You might like
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php5.2.0内存管理改进
2007/01/22 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
JS中数组重排序方法
2016/11/11 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
手把手教你python实现SVM算法
2017/12/27 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
在双python下设置python3为默认的方法
2018/10/31 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
Python timeit模块原理及使用方法
2020/10/10 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
德国高尔夫商店:Par71.de
2020/11/29 全球购物
C#实现启动一个进程
2016/10/01 面试题
茶叶店创业计划书范文
2014/01/19 职场文书
班级学习计划书
2014/04/27 职场文书
火锅店的活动方案
2014/08/15 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
庆七一主持词
2015/06/29 职场文书