class ReadonlyFieldsMixin: readonly_fields = () def _mark_readonly_fields(self): for field_name in self.readonly_fields: self.fields[field_name].widget.attrs["readonly"] = "readonly" # for _, field in self.fields.items(): # field.widget.attrs["readonly"] = "readonly" class UpdatePersonForm(ReadonlyFieldsMixin, PersonForm): readonly_fields = ("age", "last_name") def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._mark_readonly_fields()