python - only - Campo de solo lectura en formulario Django
django modelform field readonly (3)
¿Cómo configuro un campo como de solo lectura en un formulario de Django? Sé cómo desactivar un campo, pero eso no es lo que estoy buscando. Cualquier ayuda sería apreciada.
En Django 1.9+
:
somefield = forms.CharField(disabled=True)
En django 1.9 en un atributo Field.disabled disponible: https://docs.djangoproject.com/en/1.9/ref/forms/fields/#disabled
El argumento booleano desactivado, cuando se establece en True, deshabilita un campo de formulario utilizando el atributo HTML deshabilitado para que los usuarios no lo puedan editar. Incluso si un usuario manipula el valor del campo enviado al servidor, se ignorará a favor del valor de los datos iniciales del formulario.
de otra manera
use el atributo ''readonly'' del widget
class PatientForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(PatientForm, self).__init__(*args, **kwargs)
self.fields[''field''].widget.attrs[''readonly''] = True
class Meta:
model = Patient
Puede usar el parámetro attrs
opcional cuando defina el Field
. Esto es:
somefield = forms.CharField(
widget=forms.TextInput(attrs={''readonly'':''readonly''})
)