2013-05-22 18 views
6

jestem generowania formularza HTML z wtforms tak:WTForms RadioField domyślne wartości

<div class="control-group"> 
    {% for subfield in form.time_offset %} 
    <label class="radio"> 
     {{ subfield }} 
     {{ subfield.label }} 
    </label> 
    {% endfor %} 
</div> 

Moja klasa forma jest tak:

class SN4639(Form): 
    time_offset = RadioField(u'Label', choices=[ 
     ('2', u'Check when Daylight saving has begun, UTC+02:00'), 
     ('1', u'Check when Daylight saving has stopped, UTC+01:00')], 
     default=2, validators=[Required()]) 

Kiedy teraz otworzyć formularz edycji, otrzymuję przez SQL wartość 1 lub 2 - w jaki sposób mogę zaprogramować specyfikację radiobutton?

+0

Jeśli chcesz ustawić domyślną w formach, dla których przyczyny są chcesz to zrobić w HTML? Czy chcesz dwie wartości domyślne? – Denis

+0

W formularzu tworzenia ustawiam wartości domyślne, jak widać na zajęciach. Ale teraz tworzę formularz edycji i tam powinien on być wstępnie wybrany. na przykład "mężczyzna/kobieta" i kiedy otrzymałem wartość "m" z bazy, należy wybrać mężczyznę ... Jak mogę to zrobić? – Kilrathy

+0

default = yourObjectFromDB.sex ???? – Denis

Odpowiedz

2

Jeśli rozumiem Twoje pytanie poprawnie, chcesz mieć formę renderowania ze wstępnie wybrany wyboru (zamiast powrocie domyślny wybór, jeśli wartość nie zostanie złożone w formie) ...

co można zrobić, to zbudować formę podczas ustawiania wstępnie wybraną wartość:

myform = SN4639(time_offset='2') 

a następnie przekazać myform się do szablonu mają być świadczone.

0

Form.__init__ pobiera argument ze słowem kluczowym obj=, który zapełni formularz z podanego obiektu, jeśli nie podano formdanych ani innych wartości domyślnych. Przekaż wynik z bazy danych do tego i powinien działać.

5

domyślne = 2 musi być typu ciąg, nie int:

class SN4639(Form): 
    time_offset = RadioField(u'Label', choices=[ 
     ('2', u'Check when Daylight saving has begun, UTC+02:00'), 
     ('1', u'Check when Daylight saving has stopped, UTC+01:00')], 
     default='2', validators=[Required()]) 
Powiązane problemy