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 修改文件指定行的方法
May 15 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
Python中内建函数的简单用法说明
May 05 Python
JSON Web Tokens的实现原理
Apr 02 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
python通过zabbix api获取主机
Sep 17 Python
Pandas过滤dataframe中包含特定字符串的数据方法
Nov 07 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
python ---lambda匿名函数介绍
Mar 13 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
Python实现疫情地图可视化
Feb 05 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 字符串长度判断效率更高的方法
2014/03/02 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
javascript动画浅析
2012/08/30 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
JavaScript作用域链实例详解
2019/01/21 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
值得收藏的10道python 面试题
2019/04/15 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
NumPy统计函数的实现方法
2020/01/21 Python
计算机相关的自我评价
2014/01/15 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
自强之星事迹材料
2014/05/12 职场文书
出租房屋协议书
2014/09/14 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS