jin*_*lei 6 html python templates jinja2 flask
我正在建立一个网页来展示文章.在我的数据库中,我必须使用属性,其中一个用于放置Markdown代码,另一个用于保存从Markdown代码转换的HTML代码.我想获取HTML并将其添加到我的基本HTML.我使用Flask框架,SQLAlchemy数据保存在sqlite数据库中.我的模特:
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String)
body = db.Column(db.String)
timestamp = db.Column(db.String)
tag = db.Column(db.String)
info = db.Column(db.String)
body_markdown = db.Column(db.String)
Run Code Online (Sandbox Code Playgroud)
和我的观点功能:
def post(post_id):
post = db.session.query(Post).filter(Post.id == post_id).first()
return render_template('post.html',
post = post,)
Run Code Online (Sandbox Code Playgroud)
首先,我试过:
<div class="post-body">
{{post.body}}
</div>
Run Code Online (Sandbox Code Playgroud)
它显示带有HTML标记的整个字符串.
post.body.decode("utf-8")而post.body.decode("ascii")没有工作,要么.当我调试程序时,我发现数据库返回u'string'.如何获取纯HTML代码并将其应用于我的基本HTML文件?
Jor*_*ley 14
默认情况下,jinja2(烧瓶的模板引擎)假定输入内部{{ }}是不安全的,并且不允许其中的js或html ...您可以通过使用safe模板中的过滤器来解决此问题.这将告诉jinja2内容可以安全地呈现,而不是逃避html/javascript
{{ post.body | safe }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6372 次 |
| 最近记录: |