Ich möchte eine Reihe von Radio-Optionen erstellen, die wie folgt aussehen:
Der Nicht-Standard-Teil besteht darin, dass das Auswählen der ersten oder zweiten Optionsfeld-Option erfordert, dass der Benutzer weitere Informationen aus einem Auswahlfeld spezifiziert.
Wie mache ich das mit einem Django-Formular? Basierend auf dem, was ich in der Dokumente Sie können ein Choices 2-Tupel mit nur Strings übergebenAls die menschenlesbaren Werte brauche ich die Fähigkeit, ein Widget plus ein Label zu übergeben. Ich rende das Formular über Django-Crispy-Formulare in der Vorlage (d. H. Alle meine Vorlage hat ist {% crispy form %}
), also würde ich eine Lösung bevorzugen, die keine Vorlagenseitenmanipulation erfordert.
Vielen Dank!
Antworten:
-1 für die Antwort № 1in forms.py
CHOICES = (("0", "option1",), ("1", "option2",), ("2", "option3",))
Klasse NameForm (forms.ModelForm):
options = forms.ChoiceField(initial=0, widget = forms.RadioSelect(renderer = HorizontalRadioRenderer), choices=OPTIONS)