我从Post
模型中获取数据并简单地传递到模板中。但输出显示为双引号。
我在Post模型中有html标签,它不是渲染,而是显示为代码。
views.py
# It display the single post
def single_post(request,cat,post_id,post_title):
single_post = Post.objects.get(pk = post_id)
return render(request, 'blog/single_post.html', {'single_post': single_post})
single_post.html
<h1>I'm single post page</h1>
{{single_post.title}}
<br>
<br>
{{single_post.content}}
浏览器输出
答案 0 :(得分:2)
在屏幕截图中,我看不到双引号,我看到HTML标记。如果您要在内容中输入HTML,而不是让不受信任的用户输入HTML,那么您应该认为在页面上呈现是安全的(您不太可能发布恶意javascript,或者使用错误的HTML搞砸您的布局) , 对?)。因此,您希望在内容中使用Django的safe
过滤器:
{{single_post.content|safe}}
这将允许解释输入和存储的HTML,而不是渲染。