如何将HTML类添加到Django表单的help_text中?

Dan*_*inn 9 python django

我有一个简单的表格

class MyForm(forms.Form):
    ...
    fieldname = forms.CharField(help_text="Some help text")
Run Code Online (Sandbox Code Playgroud)

然后,{{ form.as_ul }}如果我愿意的话,我可以用django方便地显示这个表单,现在我需要设计help_text的风格,我不知道如何.Django似乎没有将该字符串包装在任何可以让我的CSS到达它的内容中,所以此刻,我已经恢复到:

class MyForm(forms.Form):
    ...
    fieldname = forms.CharField(help_text='<div class="helptext">Some help text</div>')
Run Code Online (Sandbox Code Playgroud)

知道这是错的,所以我在这里寻求更好的建议.

bjw*_*bjw 13

更方便的方法是:

from django.utils.safestring import mark_safe
Run Code Online (Sandbox Code Playgroud)

然后:

field = models.TextField(help_text=mark_safe("some<br>html"))
Run Code Online (Sandbox Code Playgroud)


Ale*_*dev 7

您可以从表单选项中自定义UI.处理问题的更灵活的方法是创建自己的表单模板然后重用它而不是{{ form.as_something }}.从Django文档中阅读这些主题:

当我需要大量定制的表单标记但保持干燥时,这非常有效.

  • 同意。form.as_* 仅用于快速原型制作;真正的表单布局需要在模板中进行。不一定是逐场的;在大多数情况下,我只是遍历字段并使用相同的 HTML 呈现每个字段。 (2认同)