如何自定义django表单标签

时间:2012-04-26 11:54:31

标签: django forms label customization

class permForm(forms.Form):
    def __init__(self, data=None, **kwargs):
        super(permForm, self).__init__(data, **kwargs)

        for item in list(AdminMenu.objects.filter(parent_id=0)):
            self.fields['menu_%d' % item.id] = forms.BooleanField(label=item.title)
            for childitem in list(AdminMenu.objects.filter(parent_id=item.id)):
                arr=[]
                arr.append(str(item.id))
                arr.append(str(childitem.id))
                self.fields['menu_%s' % '_'.join(arr)] = forms.BooleanField(label=childitem.title)

这将返回

类别:复选框

添加类别:复选框

列表类别:复选框

食物:复选框

添加Fooditems:复选框

列出Fooditem:复选框

表格:复选框

添加表格:复选框

列出表格:复选框

用户:复选框

查看用户:复选框
我如何将其显示为以下

类别:复选框

添加类别:复选框

列表类别:复选框

食物:复选框

添加Fooditems:复选框

列出Fooditem:复选框

表格:复选框

添加表格:复选框

列出表格:复选框

用户:复选框

查看用户:复选框

我想把父母的类别标签大胆地从孩子那里辨认出来。可能? 我不想使用硬编码的形式

1 个答案:

答案 0 :(得分:14)

以下是如何添加一些HTML以形成标签的示例:

from django.template.defaultfilters import mark_safe


class MyForm(forms.Form):
    my_field = forms.CharField(
        max_length=100,
        label = mark_safe('<strong>My Bold Field Label</strong>')
    )