我将此代码段添加到我的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<br></label>
python代码将三角括号转换为三角括号的html代码,将其显示为文本。
我怎样才能打印出来:
<label for="id_hello">Hello<br></label>
答案 0 :(得分:1)
您是否尝试过kwargs.setdefault("label_suffix", mark_safe('<br>'))>?