Ich möchte das ** Klassenattribut ** angeben, das im ** HTML-Tag ** festgelegt ist, wenn ich ein Formular schreibe, das in der Vorlage mit ** forms.py ** angezeigt werden soll.
forms.py
class Form(forms.Form):
sample = forms.IntegerField(label="hoge")
Wenn dies unverändert bleibt, lautet die Ausgabe wie folgt, und das ** Klassenattribut ** kann nicht im ** Eingabe ** -Tag festgelegt werden.
<input type="number" name="sample" required="" id="id_sample">
Überschreiben Sie die Methode ** \ _ \ _ init \ _ \ _ ** in ** forms.py **.
forms.py
class Form(forms.Form):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['sample'].widget.attrs['class'] = 'Name der Klasse'
sample = forms.IntegerField(label="hoge")
Es gibt zwei Punkte zu beachten.
Verwenden Sie diese Option, wenn Sie das Erscheinungsbild mit ** css ** anpassen möchten, wenn Sie ein Formular mit ** forms.py ** definieren.
Stapelüberlauf Frage https://stackoverflow.com/questions/401025/define-css-class-in-django-forms
Referenzierte Antwort https://stackoverflow.com/a/401057
Fragesteller https://stackoverflow.com/users/22306/ashchristopher
Befragter https://stackoverflow.com/users/22306/ashchristopher