Python 将纯文本显示为 html
Python display plain text as html
我要做一个笔记应用程序,所以我决定为此使用 summernote
和 python flask
。
我有一个表单,用户必须使用 summernote textarea 输入标题和内容,然后将输入存储在数据库中。
我遇到的问题是当我尝试显示以纯文本形式出现的注释时
这是我显示它们的方式
{% for foo in notes %}
<div class="card">
<div class="card-header">
<div class="card-title">{{ foo.title }}</div>
</div>
<div class="card-body">
<div class="ribbon-wrapper ribbon-lg">
<div class="ribbon bg-primary">
<p>{{ foo.category_name }}</p>
</div>
</div>
{{ foo.content }}
</div>
<div class="card-footer">
<a href="#" class="btn btn-info btn-xs"><i class="fas fa-eye"></i></a>
<a href="#" class="btn btn-danger btn-xs"><i class="fas fa-trash"></i></a>
</div>
</div>
{% endfor %}
有什么方法可以实际呈现 HTML 内容而不是将其显示为纯文本?
使用 Jinja 的 safe
或 escape
过滤器
https://jinja.palletsprojects.com/en/2.10.x/templates/?highlight=safe#safe
https://jinja.palletsprojects.com/en/2.10.x/templates/?highlight=safe#escape
{{ foo.content | safe }}
{{ foo.content | escape }}
始终注意信任用户输入:https://flask.palletsprojects.com/en/1.1.x/security/
我要做一个笔记应用程序,所以我决定为此使用 summernote
和 python flask
。
我有一个表单,用户必须使用 summernote textarea 输入标题和内容,然后将输入存储在数据库中。
我遇到的问题是当我尝试显示以纯文本形式出现的注释时
这是我显示它们的方式
{% for foo in notes %}
<div class="card">
<div class="card-header">
<div class="card-title">{{ foo.title }}</div>
</div>
<div class="card-body">
<div class="ribbon-wrapper ribbon-lg">
<div class="ribbon bg-primary">
<p>{{ foo.category_name }}</p>
</div>
</div>
{{ foo.content }}
</div>
<div class="card-footer">
<a href="#" class="btn btn-info btn-xs"><i class="fas fa-eye"></i></a>
<a href="#" class="btn btn-danger btn-xs"><i class="fas fa-trash"></i></a>
</div>
</div>
{% endfor %}
有什么方法可以实际呈现 HTML 内容而不是将其显示为纯文本?
使用 Jinja 的 safe
或 escape
过滤器
https://jinja.palletsprojects.com/en/2.10.x/templates/?highlight=safe#safe
https://jinja.palletsprojects.com/en/2.10.x/templates/?highlight=safe#escape
{{ foo.content | safe }}
{{ foo.content | escape }}
始终注意信任用户输入:https://flask.palletsprojects.com/en/1.1.x/security/