爲了實現客戶端驗證,使用戶在提交前非空字段填寫,我使用下面的代碼:設置HTML必需的屬性表單集
class MyForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
for field_name, field in self.fields.items():
field.widget.attrs['class'] = 'form-control'
if field.required == True:
field.widget.attrs['required'] = ''
這相當於下面的HTML中模板:
<input class="form-control" ........ required="">
現在,當我使用formset時,所需的HTML屬性不會出現在tempalte中。問題是,如何使Django formset從原始表單繼承此必需的屬性 - 如果可能的話?
MyFormSet = modelformset_factory(MyModel, fields=(...))
formset = MyFormSet(queryset = MyModel.objects.filter(...))
formset_factory似乎不允許過濾查詢集 –
但formset_factory確實解決了所需的問題是正確的。 –