barin
barin

Reputation: 4651

Django: allow line break from textarea input

How do I allow line breaking in textarea input in django to later show this input on page?

Upvotes: 55

Views: 36877

Answers (4)

barin
barin

Reputation: 4651

linebreaks

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

user3402383
user3402383

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

Emanuel Faisca
Emanuel Faisca

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

Haridas
Haridas

Reputation: 5

Use {% autoescape off %} {{ your_variable }} {% endautoescape %}.

Upvotes: -2

Related Questions