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 <br> just displays the characters as they are. Is there an equivalent |safe operation that I can specify on the field?
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>).
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'))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With