如何在 Django 模板中生成换行符
Posted
技术标签:
【中文标题】如何在 Django 模板中生成换行符【英文标题】:How to generate a line break in Django template 【发布时间】:2011-02-06 23:49:50 【问题描述】:我想给一个文本区域提供默认值。代码是这样的:
<textarea>userSetting.list | join:"NEWLINE"</textarea>
其中userSetting.list
是一个字符串列表,其中的每一项都应显示在一行中。
textarea
将标签之间的内容作为默认值,保留其换行符并且不解释任何 html 标签(这意味着 <br>
,\n
将不起作用)。
我找到了解决方案:userSetting.list | join:" " | wordwrap:0
(列表中没有空格)。但显然这不是一个好的。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:由于克里斯没有来领取功劳,我必须自己回答我的问题。 (不过还是感谢他指点the right direction)
HTML 实体 &#10;
代表 NEWLINE 字符,不会在 Django 模板中解释。所以这会起作用:
<textarea>userSetting.list | join:" "</textarea>
【讨论】:
【参考方案2】:HTML 中的文本区域确实尊重换行符。这不逃避 \n:
<textarea>userSetting.list | join:"\n"</textarea>
我在想它应该把 \n 变成一个换行符,所以你的源代码看起来像这样:
<textarea>Setting 1
Setting 2
Setting 3</textarea>
如果这样做,这将起作用,但它可能无法正确转换 \n
。
【讨论】:
谢谢,但我已经知道了。只是我不知道如何在 Django 模板中插入换行符。 (克里斯帮我找到了)【参考方案3】:如果 和 \n
不起作用,请尝试使用 userSetting.list | join:"&#10;"
。让我知道你过得怎么样...
:P
【讨论】:
&vbCrLf
不是有效的 HTML 实体。但感谢您指出正确的方向:userSetting.list | join:"&#10;"
有效。请您修改您的答案,以便我可以将其标记为已接受:)
感谢 Iamamac,我需要
@iamamac 8 年后我回来说不客气,我更新了我的答案哈哈:P以上是关于如何在 Django 模板中生成换行符的主要内容,如果未能解决你的问题,请参考以下文章
在视图而不是模板中生成带有 Django 静态 url 的图像标签