В Django CKEditor html не интерпретируется в код
После добавления записи с помощью формы CKEditor, html верстка отображается, как текст и не интерпретируется в код
**models.py**
class New(models.Model):
title = models.TextField(
verbose_name=_('Название'),
validators=[
MinLengthValidator(1, _("Название не может быть пустым."))
]
)
description = models.TextField(
verbose_name=_('Описание'),
validators=[
MinLengthValidator(1, _("Описание не может быть пустым."))
]
)
author = models.ForeignKey(
'User',
on_delete=models.SET_NULL,
null=True,
blank=True,
verbose_name=_('Автор')
)
date_of_create = models.DateTimeField(editable=False, null=True, blank=True, verbose_name='Дата создания новости')
is_archived = models.BooleanField(default=False, verbose_name="Архивирован")
def save(self, *args, **kwargs):
if not self.date_of_create:
self.date_of_create = timezone.localtime(timezone.now())
super(New, self).save(*args, **kwargs)
# def delete(self, *args, **kwargs):
# """ Переопределяет метод удаления, помечая объект как архивированный вместо удаления. """
# self.is_archived = True
# self.save()
def __str__(self):
""" Возвращает строковое представление объекта Hotel. """
archived_status = " (Архивировано)" if self.is_archived else ""
return f"{self.title}, Автор: {self.author}{archived_status}"
class Meta:
verbose_name = "Новость"
verbose_name_plural = "Новости"
def get_view_count(self):
"""
Возвращает количество просмотров для данной статьи
"""
return self.views.count()
**views.py**
def create_new(request):
if request.method == 'POST':
form = NewForm(request.POST)
if form.is_valid():
new = form.save()
new.save()
return redirect('new')
else:
form = NewForm()
return render(request, 'create_new.html', {'form': form})
**forms.py**
class NewForm(forms.ModelForm):
class Meta:
model = New
fields = ['title', 'description', 'author']
widgets = {
'title': CKEditorWidget(),
'description': CKEditorWidget(),
}
**create_new.html**
{% extends 'base.html' %}
{% load static %}
<script type="text/javascript" src="{% static "ckeditor/ckeditor-init.js" %}"></script>
<script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>
{% block title %} Добавление новости {% endblock title %}
{% block content %}
<form method="post">
{{ form.media }}
{% csrf_token %}
{{ form.as_p|safe }}
<button type="submit">Submit</button>
</form>
{% endblock %}