Django表单:在模型

时间:2015-09-13 23:15:04

标签: python django django-models django-forms

我有一个看起来像这样的Django模型:

class Group(models.Model):
    group_name = models.CharField(max_length=64)

我的最终目标是为我的数据库中所有可能的Group呈现一个HTML复选框列表,然后在各种AJAX请求中使用。我可以通过(在模板中)手动创建表单并使用适当的标签在<input type='checkbox'>内呈现它,然后在视图中手动处理表单处理来完成此操作。

我想看看是否使用Django Forms为我节省了任何工作。我创建了一个Form,如下所示:

class GroupForm(forms.ModelForm):
class Meta:
    model = Groups
    fields = ['group_name']
    widgets = {
        'group_name': forms.CheckboxInput,
    }

然后使用我数据库中的所有Groups对象创建一个formset。

GroupFormSet = modelformset_factory(Groups, form=GroupForm)
all_groups_can_edit = GroupFormSet(queryset=Groups.objects.all())

当在我的模板中呈现时,生成的HTML如下所示:

<div>
    <label for="id_form-0-group_name">Group name:</label><input id="id_form-0-group_name" maxlength="64" name="form-0-group_name" type="checkbox" value="Student">  
</div>

我的复选框的标签始终为'Group name:',但该类的值是正确的(在此示例中为'Student')。

我希望我的HTML看起来像这样:

<div>
    <label for="id_form-0-group_name">Student:</label><input id="id_form-0-group_name" maxlength="64" name="form-0-group_name" type="checkbox" value="Student">  
</div>

如何更改GroupForm类以使复选框的标签与表单中使用的特定对象的名称相对应?

0 个答案:

没有答案