/ / django - Erstellen einer Radioauswahl mit Auswahlboxoptionen - django, django-forms, django-crispy-forms

django - Erstellen eines Radios mit ausgewählten Optionen - django, django-forms, django-crispy-forms

Ich möchte eine Reihe von Radio-Optionen erstellen, die wie folgt aussehen:

Radio-Optionen, die Widgets sind

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 № 1

in 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)