Проблема Django HTML с форматированием текста HTML

Я разрабатываю сайт на django локально, у меня есть некоторые проблемы с форматированием текста (выделенного желтым цветом). В основном блоге желтый цвет неправильно показывает, что HTMl теги, хотя когда я вхожу в детальный просмотр сообщения, я вижу, что все в порядке.

Знаете ли вы, что может быть проблемой?

неправильно: formating

правильно: correct

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..! &nbsp
                    </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 &rarr;</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-тегов в базе данных. Я рекомендую вам изучить этот вопрос и попытаться найти альтернативный подход.

Вернуться на верх