Performance: ModelForm for model-backed forms
MEDIUM IMPACT
This affects page load speed and interaction responsiveness by controlling how form HTML is generated and validated on the server before sending to the client.
from django.forms import ModelForm from .models import Person class PersonForm(ModelForm): class Meta: model = Person fields = ['name', 'age']
from django import forms class MyForm(forms.Form): name = forms.CharField(max_length=100) age = forms.IntegerField() # Manually syncing form fields with model fields
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Manual form fields | More complex HTML with possible extra wrappers | Multiple reflows if form is large | Higher paint cost due to complex DOM | [X] Bad |
| ModelForm usage | Simpler, consistent HTML structure | Single reflow on form load | Lower paint cost with optimized DOM | [OK] Good |