最近在学习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内容的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
通常当我们谈到开发网站时,主要谈论的是 HTML。当然,Web 远不只有 HTML,我们在 Web 上用多种格式来发布数据:RSS、PDF、图片等。 到目前为止,我们的注意力都是放在常见 HTML 代码生成上,但是在这一章中,我们将会对使用 Django 生成其它格式的内容进行简要介绍。 Django 拥有一些便利的内建工具帮助你生成常见的非 HTML 内容: RSS/Atom 聚合文件 站点地图
通常当我们谈到开发网站时,主要谈论的是HTML。 当然,Web远不只有HTML,我们在Web上用多种格式来发布数据: RSS、PDF、图片等。 到目前为止,我们的注意力都是放在常见 HTML 代码生成上,但是在这一章中,我们将会对使用 Django 生成其它格式的内容进行简要介绍。 Django拥有一些便利的内建工具帮助你生成常见的非HTML内容: RSS/Atom 聚合文件 站点地图 (一个XM
本文向大家介绍PHP实现即时输出、实时输出内容方法,包括了PHP实现即时输出、实时输出内容方法的使用技巧和注意事项,需要的朋友参考一下 老生长谈了。。纯备忘 对于运行时间较长的PHP程序来说可能都需要即时输出内容来查看运行情况。 例, 按例子测试,达到了PHP即时实时输出内容的效果。
本文向大家介绍python实现将内容分行输出,包括了python实现将内容分行输出的使用技巧和注意事项,需要的朋友参考一下 #python版一行内容分行输出 再给大家一个读取文件内容并分行输出的方法 好了,小伙伴们自己好好研究下吧,很有意思。
string fetch(string template [, string cache_id [, string compile_id]]) This returns the template output instead of displaying it. Supply a valid template resource type and path. As an optional second
调用大模型采用流式方式输出内容,并且输出的内容有MD和普通的HTML格式,应该如何渲染的前端页面呢? 我是用jquery中的html()当时内容并没有按照返回的格式显示出来