django template html 转义研究

微信公众平台项目研发中遇到html文本标签被转义的问题,上一遍中《django-ckeditor 使用》原以为是django adminsite中文本框的问题,于是引入了富文本编辑器ckeditor。不过今天继续测试时,仍旧存在被转义的问题。

一、问题重新

1、有问题的html模版

{% extends "safe/base.html" %}
{% block title %}通知{% endblock %}
{% block header %}
<header  data-role="header">
            <h1>{{msg.name}}</h1>
        </header>

     {% endblock %} 

 {% block content %}
        <div>
         {{msg.content}}
         </div>
 {% endblock %}   

 {% block script %}

 {% endblock %}

2、问题截图

101609_iaKR_124246.png


二、解决问题

1、查看源码

<div data-role="content">

    <div>
    &lt;p&gt;通知第一天&lt;/p&gt;
    &lt;p&gt;吃饭了美嘿嘿&lt;/p&gt;
    </div>
           
</div>

2、分析

django在渲染html时为了保证文本中的内容不该扰模版中的html标签,因此对{{msg.content}}进行了html转义

三、解决方法

其实很简单,使用autoescape标签就ok了

{% autoescape off %}
   {{msg.content}}
{% endautoescape %}

四、有图有真相,最终效果

102908_6oXc_124246.png

转载于:https://my.oschina.net/springRan/blog/360284

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值