[Solved]-Newline in label for Django form field

25👍

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'))

8👍

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>).

👤Anupam

Leave a comment