Django forms.DateInput no aplica los atributos dados en el campo attrs
Marcador de posición, la clase no se establece cuando se intenta aplicar a través del especificador de attrs de django paraforms.DateInput
La forma es unModelForm.
Y según eldocs
Toma los mismos argumentos que TextInput, con un argumento opcional más:
Aquí está el código:
widgets = {
'my_date_field': forms.DateInput(format=('%d-%m-%Y'),
attrs={'class':'myDateClass',
'placeholder':'Select a date'}
)
}
Lo mismo se aplica para unforms.TextInput
Y funciona bien.
¿Que me estoy perdiendo aqui?
Solo alguien quiere un código de clase completo:
class trademark_form(ModelForm):
my_date_field = DateField(input_formats=['%d-%m-%Y'])
class Meta:
model = myModel
widgets = {
'my_date_field': forms.DateInput(format=('%d-%m-%Y'), attrs={'class':'myDateClass', 'placeholder':'Select a date'}),
'field1': forms.TextInput(attrs={'class':'textInputClass', 'placeholder':'Enter a Value..'}),
'field2': forms.TextInput(attrs={'class':'textInputClass', 'placeholder':'Enter a Value..', 'readonly':'readonly', 'value':10}),
'desc': forms.Textarea(attrs={'class':'textAreaInputClass', 'placeholder':'Enter desc', 'rows':5}),
}
exclude = ('my_valid_field')
El HTML generado para el campo,my_date_field
:
<input type="text" id="id_my_date_field" name="my_date_field">
El HTML generado para el campo,field1
:
<input type="text" name="field1" class="textInputClass" placeholder="Enter a Value.." id="id_field1">