Reputation: 4651
How do I allow line breaking in textarea input in django to later show this input on page?
Upvotes: 55
Views: 36877
Reputation: 4651
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>.
Upvotes: 101
Reputation:
Don't use {% autoescape off %}
! Otherwise user controlled input may not get escaped, which is a security risk. As mentioned use linebreaks or linebreaksbr.
Upvotes: 6
Reputation: 235
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.
Upvotes: 0