Django html-скрипт в текстовом поле модели
Я создал почтовую модель, которая имеет следующие свойства
class Mail(models.Model):
sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sender')
to = models.ForeignKey(User, on_delete=models.CASCADE, related_name='receiver')
title = models.CharField(max_length=50)
content = models.TextField()
sent_time = models.DateTimeField(default=timezone.now)
def get_absolute_url(self):
return reverse('mail-detail', kwargs={'pk':self.pk})
Я пытаюсь добавить ссылку, которая перенаправляет на деталь запроса в разделе содержания письма. Вот что я пытался сделать
m = Mail(
sender=self.request.user,
to=self.get_object().student,
title='Request Comfirmed',
content=f'Your request has been confirmed by {self.request.user.username}.' + '\n<small class="text-muted"><a class="ml-2" href="{% url \'request-defail\' ' + str(self.get_object().id) + ' %}">Click here to view details of the request</a></small>'
)
Вот как отображается почта
<article class="media content-section">
<img class="rounded-circle article-img" src="{{ object.sender.profile.image.url }}" alt="">
<div class="media-body">
<div class="article-metadata">
<a class="mr-2" href="{% url 'user-profile' object.sender.username %}">{{ object.sender.username }}</a>
<small class="text-muted">{{ object.sent_time }}</small>
</div>
<h2 class="article-titile">{{ object.title }}</h2>
<p class="article-content">{{ object.content }}</p>
</div>
</article>
Чтобы сделать то, что вы хотите, вам нужно добавить фильтр safe в конце te.
<p class="article-content">{{ object.content|safe }}</p>