如何为Django表单的help_text添加HTML类?
我有一个简单的表单
class MyForm(forms.Form):
...
fieldname = forms.CharField(help_text="Some help text")
如果我想的话,可以用Django提供的方便方法 {{ form.as_ul }}
来显示这个表单,现在我需要给帮助文本加点样式,但我不知道该怎么做。Django似乎没有把这个字符串包裹在任何可以让我的CSS样式应用到它的东西里,所以目前我只能退而求其次,使用:
class MyForm(forms.Form):
...
fieldname = forms.CharField(help_text='<div class="helptext">Some help text</div>')
我知道这样做是不对的,所以我在这里寻求更好的建议。
4 个回答
2
我想这没有其他办法,不然就不需要这个问题了:http://code.djangoproject.com/ticket/8426。
你可以使用那里的补丁。
14
更方便的方法是这样做:
from django.utils.safestring import mark_safe
然后:
field = models.TextField(help_text=mark_safe("some<br>html"))
7
在表单选项中,你能自定义的内容是有限的。更灵活的解决办法是自己创建一个表单模板,然后重复使用它,而不是使用 {{ form.as_something }}
这种方式。你可以看看Django文档中的这些主题:
当我需要对表单的标记进行大幅度自定义,同时又想保持代码简洁时,这个方法效果很好。