【发布时间】:2010-12-26 01:55:51
【问题描述】:
如何允许在 django 中的 textarea 输入中换行以便稍后在页面上显示此输入?
【问题讨论】:
-
{{value|striptags|urlize|autolinebreaks} 我愿意
如何允许在 django 中的 textarea 输入中换行以便稍后在页面上显示此输入?
【问题讨论】:
用适当的 HTML 替换纯文本中的换行符;单个换行符成为 HTML 换行符 (<br />),新行后跟一个空行成为段落换行符 (</p>)。
例如:
{{ 值|换行符 }}
如果值为Joel\nis a slug,则输出将为<p>Joel<br />is a slug</p>.
【讨论】:
\n 字符以用于呈现html 之外的其他内容,例如电子邮件、输入值或javascript?
TextField,而不是CharField。
不要使用{% autoescape off %} !否则用户控制的输入可能不会被转义,这是一个安全风险。如前所述,使用linebreaks or linebreaksbr。
【讨论】:
我在模板中有一个用于用户最少自定义输入的文本区域,我希望保留用户插入的任何格式化文本以保持不变。 解决方案,我只是将 Model 变量更改为 TextField 类型。它甚至在管理员中显示用户格式化的文本。 :)
例如
class Uadds(models.Model):
title = models.CharField(max_length = 50)
description = models.TextField(max_length = 1000)
title 不会显示换行符,但是,description 会显示它们。 我还没有用富文本编辑器测试过这个...... 希望这会有所帮助。
【讨论】:
使用{% autoescape off %} {{ your_variable }} {% endautoescape %}。
【讨论】: