【问题标题】:how to convert a variable passed into HTML from python into HTML?如何将传递给 HTML 的变量从 python 转换为 HTML?
【发布时间】:2021-08-13 07:15:15
【问题描述】:

我正在学习 Django。我有一个将 markdown 转换为 html 的 views.py 文件。然后将其作为一个名为body 的变量传递到以下html 中。当我查看页面时,并没有将变量 body 转换为 html,它只是显示:

<h1>CSS</h1> <p>Cats can run fast or slow <a href="/animals/HTML">HTML</a> page.</p>

下面是我的 html 文件。我想知道,为了让网络浏览器读取的 html 不是作为字符串而是作为 html,我是否会做一些不同于 {{body}} 的事情?

{% extends "mapper/layout.html" %}

{% block title %}
    mapper
{% endblock %}

{% block body %}
    <h1>{{ title }}</h1>
    <div>
     {{ body }} 
    </div>

{% endblock %}

【问题讨论】:

    标签: python html django markdown


    【解决方案1】:

    要让 django 不转义传入的变量并且您信任该变量,就像您发送的是实际的 html 文件一样,那么您可以选择任何方法。

    您可以在内置块标签中使用,例如:

    {% autoescape off %}
        {{ body }}
    {% endautoescape %}
    

    或者您可以对该变量使用过滤器:

    {{ body|safe|escape }}
    

    参考:autoescape | safe

    【讨论】:

    • 非常感谢@Biplove Lamichane,这正是诀窍!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    相关资源
    最近更新 更多