I fetch the data from my Post
model and simply passed into the template. But the output is showing in double quotes.
I have html tags in my Post model, which is not rendering but showing as codes.
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}}
Browser Output
Data in my Database
In your screenshot, I do not see double quotes, I see HTML tags. If you are entering HTML into the content, rather than letting untrusted users enter it, then you should consider it safe for rendering onto the page (you're not likely to post malicious javascript, or to screw up your layout with bad HTML, right?). Therefore you want to use Django's safe
filter on your content:
{{single_post.content|safe}}
That will allow the entered and stored HTML to be interpreted, rather than rendered.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With