我正在Flask应用中构建表单,并希望用户能够从<select>
菜单中选择一个选项。
例如:
<select>
<option>Banana</option>
<option>Pineapple</option>
</select>
我目前的&#34; HTML&#34;这是
<form action="{{ url_for('contact') }}" method=post>
{{ form.hidden_tag() }}
{{ form.name.label }}
{{ form.name }}
{{ form.company.label }}
{{ form.company }}
{{ form.email.label }}
{{ form.email }}
{{ form.phone.label }}
{{ form.phone }}
{{ form.message.label }}
{{ form.message }}
{{ form.submit }}
</form>
此表单的我的Python类是:
class ContactForm(Form):
partner_type = SelectField(
u'Industry Type',
choices = [('Software', 'software'), ('Sales', 'sales')]
)
name = TextField("Name", [validators.Required("Please enter your full name.")])
email = TextField("Email", [validators.Required("Please enter a valid email i.e. you@yourdomain.com"), validators.Email()])
phone = TextField("Phone", [validators.Required("Please enter a valid phone number.")])
company = TextField("Company", [validators.Required("Please enter your company name.")])
message = TextAreaField("Message", [validators.Required("Please include a message regarding this submission.")])
submit = SubmitField("Send")
这一切都适用于文本字段和提交按钮,但我似乎无法弄清楚如何正确呈现表单的<select>
选项。我尝试按照上面的语法执行:
{{ form.industry_type.label }}
{{ form.industry_type }}
但那并没有奏效。它只是添加了标签而没有下拉选择器。有没有正确的方法将其添加到DOM?选项是静态的预设选项,因此我试图呈现的列表没有动态或复杂。
感谢您的帮助。我是Python的新手,所以我还在想很多东西。
答案 0 :(得分:1)
您应该使用:
{{ form.partner_type.label }}
{{ form.partner_type }}
而不是:
{{ form.industry_type.label }}
{{ form.industry_type }}
表单中的字段名称是它所分配的变量名称,而不是SelectField的构造函数中的标签。