Je souhaite spécifier le ** attribut de classe ** qui est défini dans la ** balise html ** lorsque j'écris un formulaire à afficher dans le modèle avec ** forms.py **.
forms.py
class Form(forms.Form):
sample = forms.IntegerField(label="hoge")
Si cela reste tel quel, la sortie sera comme suit, et le ** attribut class ** ne peut pas être défini dans la balise ** input **.
<input type="number" name="sample" required="" id="id_sample">
Remplacez la méthode ** \ _ \ _ init \ _ \ _ ** dans ** forms.py **.
forms.py
class Form(forms.Form):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['sample'].widget.attrs['class'] = 'nom de la classe'
sample = forms.IntegerField(label="hoge")
Il y a deux points à noter.
Utilisez cette option lorsque vous souhaitez ajuster l'apparence avec ** css ** lorsque vous définissez un formulaire avec ** forms.py **.
question de débordement de pile https://stackoverflow.com/questions/401025/define-css-class-in-django-forms
Réponse référencée https://stackoverflow.com/a/401057
Questionneur https://stackoverflow.com/users/22306/ashchristopher
Intimé https://stackoverflow.com/users/22306/ashchristopher
Recommended Posts