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 相关文章推荐
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
Python实现PS图像调整黑白效果示例
Jan 25 Python
django输出html内容的实例
May 27 Python
谈一谈基于python的面向对象编程基础
May 21 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
Python操作SQLite数据库过程解析
Sep 02 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 Python
Python WSGI 规范简介
Apr 11 Python
pytorch实现ResNet结构的实例代码
May 17 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
Python中request的基本使用解决乱码问题
Apr 12 Python
python神经网络 使用Keras构建RNN训练
May 04 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同时支持GIF、png、JPEG
2006/10/09 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
jQuery过滤选择器用法分析
2015/02/10 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
解读ES6中class关键字
2017/11/20 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现配置文件备份的方法
2015/07/30 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python对List中的元素排序的方法
2018/04/01 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
python enumerate内置函数用法总结
2020/01/07 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
《小石潭记》教学反思
2014/02/13 职场文书
业务员的岗位职责
2014/03/15 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
MySQL8.0.18配置多主一从
2021/06/21 MySQL
15个值得收藏的JavaScript函数
2021/09/15 Javascript
R9700摩机记
2022/04/05 无线电
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL