Django: allow line break from textarea input
Replaces line breaks in plain text with appropriate HTML; a single newline becomes an HTML line break (<br />
) and a new line followed by a blank line becomes a paragraph break (</p>
).
For example:
{{ value|linebreaks }}
If value is Joel\nis a slug
, the output will be <p>Joel<br />is a slug</p>.
Don't use {% autoescape off %}
! Otherwise user controlled input may not get escaped, which is a security risk. As mentioned use linebreaks or linebreaksbr.
I had a text area for user minimal custom input in the template and I wanted to keep whatever formatted text the user inserted to stay the same.The solution, I simply changed the Model variable to a TextField type. It even shows the user formatted text in the admin. :)
ex.
class Uadds(models.Model): title = models.CharField(max_length = 50) description = models.TextField(max_length = 1000)
title will not show line breaks, however, description will show them.I haven’t tested this with a Rich Text Editor...Hope this helped.