Python 在Django表单中添加标记_后缀的一般规则
我将此代码段添加到my models.py中,以覆盖Django表单的默认行为,即将“:”添加到表单标签中Python 在Django表单中添加标记_后缀的一般规则,python,django,web,Python,Django,Web,我将此代码段添加到my 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__ = Bas
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>")
kwargs.setdefault(“标签后缀”,“br>”)
这应该具有在特定实例中对所有表单项执行以下操作的效果
message = forms.CharField(widget=forms.Textarea,label = mark_safe('LABEL_NAME<br>'))
message=forms.CharField(widget=forms.Textarea,label=mark\u safe('label\u NAME
'))
相反,它将作为文本打印在html页面上。。。查看HTML源代码,您可以了解原因:
<label for="id_hello">Hello<br></label>
Hellobr
python代码正在将三角括号转换为html代码,将三角括号显示为文本
如何让它打印:
<label for="id_hello">Hello<br></label>
你好
你试过kwargs.setdefault(“label\u suffix”,mark\u safe(“
”)>?
你试过kwargs.setdefault(“label\u suffix”,mark\u safe(“
”)
>?@SohanJain不敢相信我没有想到。。。你想把它作为一个答案吗?它有效。很高兴它一直有效!1.6中的向后不兼容变化;BoundField.label_标记现在包括表单的label_后缀