【发布时间】:2012-05-07 03:40:19
【问题描述】:
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)
这将返回
类别:复选框
添加类别:复选框
列表类别:复选框
食物:复选框
添加食品:复选框
列出食品:复选框
表格:复选框
添加表格:复选框
列出表格:复选框
用户:复选框
查看用户:复选框
我怎样才能显示如下
类别:复选框
添加类别:复选框
列表类别:复选框
食物:复选框
添加食品:复选框
列出食品:复选框
表格:复选框
添加表格:复选框
列出表格:复选框
用户:复选框
查看用户:复选框
我想让父母类别标签加粗以将其与儿童区分开来。可能的? 我不想使用硬编码格式
【问题讨论】:
-
使用CSS,更简单,更容易改变。如果您不更改 django 表单模型,您的表单标签将永远不会改变。
-
不用大喊大叫。正如@platinummonkey 建议的那样,您始终可以使用 CSS,除此之外,您唯一的选择是在表单中单独呈现每个字段,并以这种方式添加任何额外的标签。您不能在 Django 的标签中包含 HTML。
-
其实可以的。有关示例代码,请参阅我的答案。
标签: django forms label customization