Django中几种safe字符串的方法

python代码

需要用到:django.utils.safestring.make_safe
例子:

from django.utils.safestring import mark_safe


def index(request):
    s = "<h1>index page</h1>"
    s = mark_safe(s)
    return render(request, "app01/index.html", {"h1Tag": s}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>app01 index</title>
</head>
<body>
{{ h1Tag }}
</body>
</html>

template标签和过滤器

safe过滤器和autoescape可以控制,是否将字符串渲染成html代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>app01 index</title>
</head>
<body>
{# 默认情况: #}
{{ h1Tag }}
{# <h1>index page</h1> #}

{# 第一种方法 #}
{{ h1Tag | safe }}

{# 第二种方法 #}
{% autoescape off %}
    {{ h1Tag }}
{% endautoescape %}
</body>
</html>

posted @ 2021-06-25 14:37  403·Forbidden  阅读(223)  评论(0编辑  收藏  举报