Вы можете попробовать то, что предложил @luc, но вы также можете попробовать добавить виджет в поле password_protected
:
password = models.CharField(default=False, widget=forms.TextInput())
- и настроить его атрибуты:
form = MyForm(request.POST)
if form.is_valid():
# do some nice stuff here
else:
if form['password_protected'].data:
form.fields['password_protected'].widget.attrs['disabled'] = 'disabled'
Обратите внимание, что указывать, что поле widget
для password
не нужно, поскольку поля имеют виджеты по умолчанию, но я добавил его на случай, если необходимо изменить атрибуты виджета.