Почему когда я вывожу данные с БД они выводятся не корректно Django Mysql
У меня проблема в том, что когда мне нужно вывести данные из БД, но там есть html коды тоже. То в шаблоне они отражаются как строка а не вид ну типо <h1> заголовок -
Вот так
, но вместо заголовка там<h1>Текст</h1>
Мой код в views.py:
from django.shortcuts import render
from text.models import Doc
def index(request, idt):
posts = {'posts': Doc.objects.raw('SELECT * FROM users WHERE id = ' + str(idt)), 'link': Doc.objects.raw('SELECT * FROM text_sidenav WHERE post_id = ' + str(idt))}
return render(request, 'main/mainT/doc.html', posts)
код в urls.py
from django.urls import path
from . import views
from main.models import AccountsQ
urlpatterns = [
path('<int:idt>', views.index, name='index'),
]
сам шаблон:
<div class="container mt-5">
<div class="row">
{% for post in posts %}
<div class="col-lg-10 col-md-12">
<div class="card">
<div class="card-header">
<h3 class="text-center">{{post.title}}</h3>
</div>
<div class="card-body">
{{post.text}}
</div>
</div>
</div>
{% endfor %}
Ответы (2 шт):
Автор решения: NykSu
→ Ссылка
Возможно в БД у вас вместо "<" и ">" хранится "& l t ;" и "& g t ;"
А строка из вашего кода:
<h3 class="text-center">{{post.title}}</h3>
наверняка правильно отображается.
Автор решения: Zah Gamer34
→ Ссылка
Я нашел решение, просто к коду, например:
{{post.title}}
добавьте | safe:
{{post.title | safe}}`