Как разрешить прерывание строки в вводе textarea в django, чтобы позже показать этот ввод на странице?
Django: разрешить разрыв строки из ввода textarea
Ответ 1
Заменяет разрывы строк простым текстом на соответствующий HTML; одна новая строка становится разрывом строки HTML (<br />
), а новая строка, за которой следует пустая строка, становится перерывом в абзаце (</p>
).
Например:
{{ value|linebreaks }}
Если значение Joel\nis a slug
, выход будет <p>Joel<br />is a slug</p>.
Ответ 2
Не используйте {% autoescape off %}
! В противном случае пользовательский вход не может быть экранирован, что представляет собой угрозу безопасности. Как упоминалось, используйте linebreaks или linebreaksbr.
Ответ 3
У меня была текстовая область для пользовательского минимального пользовательского ввода в шаблоне, и я хотел сохранить любой форматированный текст, который пользователь вставил, чтобы оставаться неизменным. В решении я просто изменил переменную Model на тип TextField. Он даже отображает текст, отформатированный пользователем в администраторе.:)
ех.
class Uadds(models.Model):
title = models.CharField(max_length = 50)
description = models.TextField(max_length = 1000)
Заголовок не будет показывать разрывы строк, однако описание покажет их. Я не тестировал это с помощью Rich Text Editor... Надеюсь, это помогло.
Ответ 4
Используйте {% autoescape off %} {{ your_variable }} {% endautoescape %}
.