Django: поле только для чтения в форме не отправлено - PullRequest
0 голосов
/ 10 декабря 2011

В моей форме есть одно поле только для чтения. Содержимое поля будет заполнено Java-скриптом и зависит от ввода в редактируемые поля. Чтобы пользователи не могли изменять данные поля, я хочу пометить их как доступные только для чтения.

Когда я отмечаю поле как доступное только для чтения в моем forms.py с

'key': forms.TextInput(attrs={'disabled':'disabled'}),

кажется, что содержимое поля доступно только для чтения, но не будет отправлено. Я получаю следующую ошибку при попытке прочитать form.cleaned_data ['key']:

Exception Type:     MultiValueDictKeyError
Exception Value:    "Key 'key' not found in <QueryDict: ...>

Есть ли лучший способ пометить поле как «только для чтения» в форме Django, чем «отключено»?

Спасибо за ваши предложения!

1 Ответ

7 голосов
/ 10 декабря 2011

Отключенные поля никогда не отправляются в данных формы.Но вы можете использовать атрибут readonly="readonly", его поддерживается почти во всех браузерах.

Также было бы полезно сослаться на эту статью http://www.cs.tut.fi/~jkorpela/forms/readonly.html.

Happy Coding.

...