У меня есть имя формы django "SampleForm". Что я использую для ввода данных от пользователя. Теперь я хочу использовать ту же форму, чтобы показывать эту информацию пользователю на другой странице. Но форма редактируема. Я хочу сделать форму только для чтения. Есть ли способ сделать целую форму Readonly?Как создать форму модели Django Readonly?
3
A
ответ
6
псевдо-код (не проверено):
class ReadOnlyFormMixin(ModelForm)
def __init__(self, *args, **kwargs):
super(ReadOnlyFormMixin, self).__init__(*args, **kwargs)
for key in self.fields.keys():
self.fields[key].widget.attrs['readonly'] = True
def save(self, *args, **kwargs):
# do not do anything
pass
class SampleReadOnlyForm(ReadOnlyFormMixin, SampleForm):
pass
0
class SampleForm(ModelForm):
def __init__(self, *args, **kwargs):
super(SampleForm, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
if instance and instance.pk:
for field in self.fields.keys():
self.fields[field].widget.attrs['readonly'] = True
Только это должно сделать всю форму readonly всякий раз, когда экземпляр доступен для формы.
+1
Это не помешало бы POST хаков Тхо так что будьте осторожны. –
0
Рабочий код
class ReadOnlySampleForm(SampleForm):
def __init__(self, *args, **kwargs):
super(SampleForm, self).__init__(*args, **kwargs)
for key in self.fields.keys():
self.fields[key].widget.attrs['readonly'] = True
Смежные вопросы
- 1. Как создать форму в Django admin без создания модели
- 2. Как создать форму Django с объектами модели в виджет Select?
- 3. Сохраните форму в модели django
- 4. Как создать динамическую форму поиска для Django?
- 5. Как создать шаблон модели в шаблоне django
- 6. Как создать объекты модели в представлении Django?
- 7. Yii2 создать форму без модели
- 8. модели и атрибуты readonly
- 9. Django, добавив поле readonly (из метода экземпляра) в модельную форму.
- 10. Readonly fields in django formset
- 11. Как создать свою собственную форму входа Django
- 12. Как создать форму «заполнить пробелы» в Django
- 13. Как создать форму Django из внешних отношений?
- 14. Как создать форму Django для сетки фотографий?
- 15. Как создать форму Django с ModelChoiceField?
- 16. Django: Как создать форму множественного выбора?
- 17. Как сделать поле Django admin readonly textarea
- 18. Подтвердить форму модели Django с исключенными полями
- 19. Интерфейс администратора Django ReadOnly
- 20. django crispy forms readonly
- 21. модели Django - перед сохранением/создать
- 22. создать ветви модели в django
- 23. Как создать Django FormWizard для одной модели?
- 24. Как создать пустой объект модели в django?
- 25. Как создать HASH для Django модели
- 26. Как создать форму из модели, которая имеет ListProperty
- 27. Django: Как настроить форму администратора для определенной модели
- 28. как создать sybase ASE readonly role
- 29. Play Framework - создать форму без модели
- 30. Невозможно создать форму для эталонной модели
Thats a good as as same frm был использован для редактирования информации. –
Если вы используете Django> = 1.9, вы можете использовать self.fields [key] .disabled = True https://docs.djangoproject.com/en/1.9/ref/forms/fields/#disabled –