I have a simple form
class MyForm(forms.Form):
...
fieldname = forms.CharField(help_text="Some help text")
I can then display this form with django's handy {{ form.as_ul }}
if I like, now I need to stylise the help_text and I have no idea how. Django doesn't appear to wrap that string in anything that will let my CSS get to it so at the moment, I've restored to:
class MyForm(forms.Form):
...
fieldname = forms.CharField(help_text='<div class="helptext">Some help text</div>')
Which I know is wrong so I'm looking here for better advice.
A more convenient way to do this is to:
from django.utils.safestring import mark_safe
and then:
field = models.TextField(help_text=mark_safe("some<br>html"))
There's only that much you can customize in UI from form options. The more flexible way to approach a problem is to create your own form template then and reuse it instead of {{ form.as_something }}
. Read these topics from Django documentation:
This worked very well when I needed significantly customized form marks yet keeping it DRY.
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