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 相关文章推荐
简单的编程0基础下Python入门指引
Apr 01 Python
python文件操作之目录遍历实例分析
May 20 Python
python实现数值积分的Simpson方法实例分析
Jun 05 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
python3+PyQt5泛型委托详解
Apr 24 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
详解python配置虚拟环境
Apr 08 Python
python调用并链接MATLAB脚本详解
Jul 05 Python
python cv2在验证码识别中应用实例解析
Dec 25 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
python实现自定义日志的具体方法
May 28 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
同时提取多条新闻中的文本一例
2006/10/09 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
php常见的魔术方法详解
2014/12/25 PHP
php两种无限分类方法实例
2015/04/21 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
Python中os和shutil模块实用方法集锦
2014/05/13 Python
pandas 选择某几列的方法
2018/07/03 Python
python适合做数据挖掘吗
2020/06/16 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
求职简历中的自我评价分享
2013/12/08 职场文书
校长先进事迹材料
2014/02/01 职场文书
事业单位聘任报告
2015/03/02 职场文书
应届生简历自我评价
2015/03/11 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
Golang实现可重入锁的示例代码
2022/05/25 Golang