2013-05-22 4 views
6

Я генерации HTML форму с wtforms так:WTForms радиополя значения по умолчанию

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

Моя форма класса, как это:

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()]) 

Когда я теперь открыть форму редактирования, я получаю через SQL значение 1 или 2 - как я могу запрограммировать конкретную радиообъектуру?

+0

Если вы хотите установить значение по умолчанию в формах, по которым причинам вы хотите сделать это в HTML? Вам нужны два значения по умолчанию? – Denis

+0

В форме создания я устанавливаю значения по умолчанию, как вы можете видеть, в классе. Но теперь я создаю форму редактирования, и там она должна быть предварительно выбрана. например «мужчина/женщина», и когда я получил значение «m» из db, мужчина должен быть выбран ... Как я могу это сделать? – Kilrathy

+0

default = yourObjectFromDB.sex ???? – Denis

ответ

2

Если я правильно понял ваш вопрос правильно, вы хотите иметь форму визуализации с заранее выбранной даты (а не возвращать выбор по умолчанию, если значение не представляется форме) ...

Что вы можете сделать это построить форму во время установки предварительно выбранного значения:

myform = SN4639(time_offset='2') 

А затем передать myform от к шаблону, чтобы быть оказано.

0

Form.__init__ принимает аргумент ключевого слова obj=, который будет заполнять форму из данного объекта, если не указаны форматы или другие значения по умолчанию. Передайте результат от базы данных к этому, и он должен работать.

5

по умолчанию = 2 должно быть строкового типа, а не 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()]) 
Смежные вопросы