bekannterweise gibt es in Django die Möglichkeiten HTML Forms von der Applikationsseite aus zu erzeugen und dann lediglich im Template auszugeben. Ich möchte gerne ein Form mit ChoiceFields benutzen, das ich zur Laufzeit mit Daten initialisiere. Dies jedoch scheint ein mittleres Problem zu. Ich habe schon diverse Webseiten gefunden, die Tips geben und scheinbar rendert das Template die Forms dann auch entsprechend, aber die Validierung scheint nicht mehr korrekt zu funktionieren. Wenn ich eine Option der ComboBox wähle und das Form validiere, bekomme ich einen Fehler. Dies ist sicherlich auf die anfängliche Initialisierung des ChoiceFields auf ein leeres Tuple zurückzuführen...
Hier mal ein bisschen Code:
Code: Alles auswählen
class MyForm(forms.Form):
courses = forms.ChoiceField(
choices = (), required=False)
def __init__(self, choices, *args, **kwags):
super(MyForm, self).__init__(*args, **kwargs)
if choices == None: return
self.fields['courses'].choices = [('abc', 'abc'), ('123', '123')]
Code: Alles auswählen
form = MyFor(None, request.POST)
print form.is_valid, form.errors
Hat jemand vielleicht eine Idee?
Lg,
lunas