Django: allow line break from textarea input

2020-05-20 05:18发布

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

标签: html django
4条回答
兄弟一词,经得起流年.
2楼-- · 2020-05-20 05:43

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.

查看更多
等我变得足够好
3楼-- · 2020-05-20 05:45

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>.

查看更多
可以哭但决不认输i
4楼-- · 2020-05-20 05:57

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

查看更多
一纸荒年 Trace。
5楼-- · 2020-05-20 06:08

Don't use {% autoescape off %} ! Otherwise user controlled input may not get escaped, which is a security risk. As mentioned use linebreaks or linebreaksbr.

查看更多
登录 后发表回答