Проблема Django HTML с форматированием текста HTML
Я разрабатываю сайт на django локально, у меня есть некоторые проблемы с форматированием текста (выделенного желтым цветом). В основном блоге желтый цвет неправильно показывает, что HTMl теги, хотя когда я вхожу в детальный просмотр сообщения, я вижу, что все в порядке.
Знаете ли вы, что может быть проблемой?
base.html:
index.html:
{% extends "base.html" %}
{% block content %}
<style>
body {
font-family: "Roboto", sans-serif;
font-size: 18px;
background-color: #fdfdfd;
}
.head_text {
color: black;
}
.card {
box-shadow: 0 16px 48px #E3E7EB;
}
</style>
<header class="masthead">
<div class="overlay"></div>
<div class="container">
<div class="row">
<div class=" col-md-8 col-md-10 mx-auto">
<div class="site-heading">
<h3 class=" site-heading my-4 mt-3 text-black"> Welcome to my awesome Blog </h3>
<p class="text-light">We Love Django As much as you do..!  
</p>
</div>
</div>
</div>
</div>
</header>
<div class="container">
<div class="row">
<!-- Blog Entries Column -->
<div class="col-md-8 mt-3 left">
{% for post in post_list %}
<div class="card mb-4">
<div class="card-body">
<h2 class="card-title">{{ post.title }}</h2>
<p class="card-text text-muted h6">{{ post.author }} | {{ post.created_on}} </p>
<p class="card-text">{{post.content|slice:":200" }}</p>
<a href="{% url 'post_detail' post.slug %}" class="btn btn-primary">Read More →</a>
</div>
</div>
{% endfor %}
</div>
{% block sidebar %} {% include 'sidebar.html' %} {% endblock sidebar %}
</div>
</div>
{%endblock%}
post_details.html:
{% extends 'base.html' %} {% block content %}
<div class="container">
<div class="row">
<div class="col-md-8 card mb-4 mt-3 left top">
<div class="card-body">
<h1>{% block title %} {{ object.title }} {% endblock title %}</h1>
<p class=" text-muted">{{ post.author }} | {{ post.created_on }}</p>
<p class="card-text ">{{ object.content | safe }}</p>
</div>
</div>
{% block sidebar %} {% include 'sidebar.html' %} {% endblock sidebar %}
</div>
</div>
{% endblock content %}
sidebar.html:
{% block sidebar %}
<style>
.card{
box-shadow: 0 16px 48px #E3E7EB;
}
img {
width: 60%;
height: auto;
object-fit: contain;
</style>
<!-- Sidebar Widgets Column -->
<div class="col-md-4 float-right ">
<div class="card my-4">
<h5 class="card-header">O mnie</h5>
<div class="card-body">
{% load static %}
<center><img src="{% static 'blog/zdjecie.png' %}" alt="My image"></center>
<p class="card-text"> This awesome blog is made on the top of our Favourite full stack Framework 'Django', follow up the tutorial to learn how we made it..!</p>
<a class="nav-link text-black font-weight-bold" href="omnie/">Wiecej</a>
</div>
</div>
</div>
{% endblock sidebar %}
Это в вашем файле index.html. Поскольку вы сохраняете html-теги в базе данных, вам нужно изменить
{{post.content|slice:":200" }}
to
{{post.content|safe|slice:":200" }}
Ознакомьтесь с этой документацией, чтобы узнать больше.
Кроме того, в Интернете есть много тем о проблемах безопасности при сохранении html-тегов в базе данных. Я рекомендую вам изучить этот вопрос и попытаться найти альтернативный подход.