在Django表单中为label_suffix添加一般规则

时间:2014-03-28 02:18:49

标签: python django web

我将此代码段添加到我的models.py中,以覆盖Django表单添加"的默认行为:"形成标签

from django.forms import BaseForm
orig_init = BaseForm.__init__
def BaseForm_init(*args, **kwargs):
    kwargs.setdefault("label_suffix", "")
    orig_init(*args, **kwargs)
BaseForm.__init__ = BaseForm_init

它有预期的结果。但现在我正在尝试,而不是追加'' (没有),附加一个换行符' br'所以每个标签后面都有换行符。所以上面代码片段的第四行看起来像

      kwargs.setdefault("label_suffix", "<br>")

这应该具有在所有表单项的特定实例中执行以下操作的效果

message = forms.CharField(widget=forms.Textarea,label = mark_safe('LABEL_NAME<br>'))

而是在html页面上打印
作为文本...查看HTML源代码,你可以看到原因:

 <label for="id_hello">Hello&lt;br&gt;</label>

python代码将三角括号转换为三角括号的html代码,将其显示为文本。

我怎样才能打印出来:

 <label for="id_hello">Hello<br></label>

1 个答案:

答案 0 :(得分:1)

您是否尝试过kwargs.setdefault("label_suffix", mark_safe('<br>'))>?