微信公众平台项目研发中遇到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、问题截图
二、解决问题
1、查看源码
<div data-role="content">
<div>
<p>通知第一天</p>
<p>吃饭了美嘿嘿</p>
</div>
</div>
2、分析
django在渲染html时为了保证文本中的内容不该扰模版中的html标签,因此对{{msg.content}}进行了html转义
三、解决方法
其实很简单,使用autoescape标签就ok了
{% autoescape off %}
{{msg.content}}
{% endautoescape %}