Django如何把数据库里的html格式输出到前端?

本文详细介绍了在Django框架中如何处理HTML自动转义的问题,提供了两种实用的方法:使用过滤器'safe'和标签'{%autoescapeoff%}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自品略图书馆 http://www.pinlue.com/article/2020/04/3012/3310268426145.html

 

在数据库中存储的文件为HTML的text格式,如下

只需要在前端模板文件里使用{% autoescape off %}就可以了

显示结果

 

以上原文https://blog.youkuaiyun.com/u011583025/article/details/78071942

第二种方式是在渲染的标签中添加过滤器

{{ res.gap_filling |safe }}

-----------------------------------------------------------------------------------------------------------------------

Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全。但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。比如:

<p>这行代表会被自动转义</p>: {{ data }}

<p>这行代表不会被自动转义</p>: {{ data|safe }}

其中第二行我们关闭了Django的自动转义。

我们还可以通过{%autoescape off%}的方式关闭整段代码的自动转义,比如下面这样:

{% autoescape off %}

Hello {{ name }}

{% endautoescape %}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值