Django 表单字段标签中的换行符
Posted
技术标签:
【中文标题】Django 表单字段标签中的换行符【英文标题】:Newline in label for Django form field 【发布时间】:2012-07-24 02:31:50 【问题描述】:有没有办法在 Django 中的表单字段标签中添加换行符?放置 \n
只会在 html 中产生换行符,而尝试 <br>
只会显示字符原样。我可以在字段上指定等效的|safe
操作吗?
【问题讨论】:
【参考方案1】:您可以使用mark_safe
,这样<br />
标记就不会被转义。
相当于在模板中使用safe
,所以在处理用户输入时要小心。如果它是硬编码的字符串,则可以安全使用。
from django import forms
from django.utils.safestring import mark_safe
class MyForm(forms.Form):
my_field = forms.CharField(label=mark_safe('my label<br />next line'))
【讨论】:
我认为另一种方法是在模板中使用 my_field.label|linebreaks @Anupam 这是一个很好的建议,您应该将其添加为单独的答案。另一个选项是linebreaksbr
。
@Alasdair 将其添加为答案【参考方案2】:
您也可以直接在模板中执行此操作,如下所示:
my_field.label|linebreaks
\n
这样会转换成<br/>
根据doc,
一个 换行成为 HTML 换行符 (
<br />
) 和新行后跟 一个空行变成一个段落分隔符 (</p>
)。
【讨论】:
以上是关于Django 表单字段标签中的换行符的主要内容,如果未能解决你的问题,请参考以下文章