Newline in label for Django form field Newline in label for Django form field django django

Newline in label for Django form field


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 formsfrom django.utils.safestring import mark_safeclass 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>).