Google app engine Tipfy wtform字段始终呈现为输入类型=";“文本”;

Google app engine Tipfy wtform字段始终呈现为输入类型=";“文本”;,google-app-engine,tipfy,wtforms,Google App Engine,Tipfy,Wtforms,我找不到使用tipfy表单(扩展wtforms)的模板示例。 例如,如果我想实现出生日期,我希望用户输入其出生日期的“正确”html。让我们举一个例子: 这是我的表格 class RegistrationForm(Form): name = fields.TextField('Nombre',validators=[REQUIRED]) email = fields.TextField('Email', validators=[REQUIRED,VALID_EMAIL])

我找不到使用tipfy表单(扩展wtforms)的模板示例。 例如,如果我想实现出生日期,我希望用户输入其出生日期的“正确”html。让我们举一个例子:

这是我的表格

class RegistrationForm(Form):
    name = fields.TextField('Nombre',validators=[REQUIRED])
    email = fields.TextField('Email', validators=[REQUIRED,VALID_EMAIL])
    birth_date = fields.DateTimeField('Fecha Nacimiento',format='%d/%m/%y',validators=[REQUIRED])
    password = fields.PasswordField('Password', validators=[REQUIRED])
    password_confirm = fields.PasswordField('Confirm the password', validators=[REQUIRED])
在模板上:

<form method="post" action="{{ current_url }}" enctype="multipart/form-data" class="tipfy-form">
        <ol>
            <li>{{ form_field(form.name, class='medium') }} </li>
            <li>{{ form_field(form.email, class='medium') }}</li>
            <li>{{ form_field(form.password, class='medium') }}</li>
            <li>{{ form_field(form.password_confirm, class='medium') }}</li>
            <li>{{ form_field(form.birth_date, class='medium') }}</li>
        </ol>
                        <fieldset class="submit">
                                <input type="submit" name="submit" value="{{ _('Register') }}" class="button_auth">
                        </fieldset>
                </form>

  • {{form_字段(form.name,class='medium')}
  • {{form_字段(form.email,class='medium')}
  • {{form_字段(form.password,class='medium')}
  • {{form_字段(form.password_confirm,class='medium')}
  • {{form_字段(form.birth_date,class='medium')}
  • 但是,form.birth_date的字段将呈现为带有type=“text”的html输入标记。我必须重写调用或html方法吗?我想使用选项渲染选择标记,这样用户就可以选择日/月/年,而不是通过给它小费我不希望用户在文本字段中键入日期

    如果我想要html5标签,我必须覆盖吗

    我做错了什么


    谢谢

    目前,我使用表单宏解决了这个问题

    我必须使用SelectField

    DAYS = [(x,x) for x in range(1,31)]
    MONTHS = [x for x in [('enero',1),('febrero',2),('marzo',3),('abril',4),('mayo',5),('julio',6),('junio',7),('agosto',8),('setiembre',9),('octubre',10),('noviembre',11),('diciembre',12)] ]
    YEARS = [(x,x) for x in range(1905,2010)]
    
    class RegistrationForm(Form):
        name = fields.TextField('Nombre',validators=[REQUIRED])
        surnames = fields.TextField('Apellidos',validators=[REQUIRED])
        email = fields.TextField('Email', validators=[REQUIRED,VALID_EMAIL])
        birth_date_day = fields.SelectField('Fecha Nacimiento',format='%d/%m/%y',validators=[REQUIRED])
        password = fields.PasswordField('Password', validators=[REQUIRED])
        password_confirm = fields.PasswordField('Confirm the password', validators=[REQUIRED])
    
    这是新模板

      <form method="post" action="{{ current_url }}" enctype="multipart/form-data" class="tipfy-form">
            <ol>
                <li>{{ form_field(form.name, class='medium') }} </li>
                <li>{{ form_field(form.surnames, class='medium') }} </li>
                <li>{{ form_field(form.email, class='medium') }}</li>
                <li>{{ form_field(form.password, class='medium') }}</li>
                <li>{{ form_field(form.password_confirm, class='medium') }}</li>
                <li>{{ form_field(form.sex, class='medium') }}</li>
                <li>{{ form_field(form.birth_date, class='medium') }}</li>
                <li>{{ form_field(form.birth_month, class='medium') }}</li>
                <li>{{ form_field(form.birth_year, class='medium') }}</li>
            </ol>
                            <fieldset class="submit">
                                    <input type="submit" name="submit" value="{{ _('Register') }}" class="button_auth">
                            </fieldset>
                    </form>
    
    
    
  • {{form_字段(form.name,class='medium')}
  • {{form_字段(form.names,class='medium')}
  • {{form_字段(form.email,class='medium')}
  • {{form_字段(form.password,class='medium')}
  • {{form_字段(form.password_confirm,class='medium')}
  • {{form_字段(form.sex,class='medium')}
  • {{form_字段(form.birth_date,class='medium')}
  • {{form_字段(form.birth_month,class='medium')}
  • {{form_字段(form.birth_year,class='medium')}