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中文件操作简明介绍
Apr 13 Python
Python+django实现文件上传
Jan 17 Python
Python找出list中最常出现元素的方法
Jun 14 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
python中的json总结
Oct 11 Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 Python
使用Python进行目录的对比方法
Nov 01 Python
python/sympy求解矩阵方程的方法
Nov 08 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
python实现门限回归方式
Feb 29 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 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
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Django权限机制实现代码详解
2018/02/05 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python实现简单的学生管理系统
2021/02/22 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
应届生护士求职信
2013/11/01 职场文书
工作过失检讨书
2014/02/23 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
保险经纪人求职信
2014/03/11 职场文书
安全保证书范文
2014/04/29 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
小学班主任心得体会
2016/01/07 职场文书
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL