Is there a way to put a newline in the label of a form field in Django? Putting a \\n
just results in a newline in the HTML, and trying
just
You can use mark_safe
so that the <br />
tag is not escaped.
It's equivalent to using safe
in the template, so be careful if you're handling user input. If it's a hardcoded string, then it's safe to use.
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'))
You can also do this directly in the template as follows:
{{my_field.label|linebreaks}}
\n
will convert to <br/>
that way
As per the doc,
a single newline becomes an HTML line break (
<br />
) and a new line followed by a blank line becomes a paragraph break (</p>
).