django template html 轉義研究

微信公衆平臺項目研發中遇到html文本標籤被轉義的問題,上一遍中《django-ckeditor 使用》原覺得是django adminsite中文本框的問題,因而引入了富文本編輯器ckeditor。不過今天繼續測試時,仍舊存在被轉義的問題。html

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、解決問題

一、查看源碼

<div data-role="content">

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

二、分析

django在渲染html時爲了保證文本中的內容不應擾模版中的html標籤,所以對{{msg.content}}進行了html轉義python

3、解決方法

其實很簡單,使用autoescape標籤就ok了
spring

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

4、有圖有真相,最終效果

相關文章
相關標籤/搜索