阅读 2945

Django前后端不分离项目遇到转义问题

MedusaSorcerer的博客


问题描述

Django前后端不分离项目开发中, 难免会有后端传递HTML代码给前端渲染的情况, 在这个过程中, Django默认将这些特殊HTML符号编码成展示的HTML文本内容, 如后台传递<span>这是一个SPAN标签</span>给前端, 但Django传递的数据则是&lt;span&gt;这是一个SPAN标签&lt;/span&gt;, 将<>成功转码, 以至于在前端界面展示的就是字符, 而并不是作为标签传递。

问题解决

在上述问题中, 我们采用两种方式解决:

  • 使用mark_safe方法进行非转义数据传递
    from django.utils.safestring import mark_safe
    
    mark_safe("这是一段前段代码")
    复制代码
  • 使用safe过滤器进行转义字符回转
    ```html
    <div>
        {{ value|safe }}
    </div>
    ```
    复制代码
    两种方式都可以达到所需目的。