flask表单搜索功能多选
时间: 2023-10-07 11:13:40 浏览: 49
要实现Flask表单搜索功能的多选,可以使用WTForms库中的MultipleSelectField字段。以下是一个示例代码:
```python
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, SelectMultipleField
from wtforms.validators import DataRequired
class SearchForm(FlaskForm):
keywords = StringField('Keywords', validators=[DataRequired()])
category = SelectMultipleField('Category', choices=[('music', 'Music'),
('movies', 'Movies'),
('books', 'Books')])
submit = SubmitField('Search')
```
在上面的代码中,我们定义了一个名为SearchForm的表单,包含三个字段:keywords、category和submit。其中,keywords字段是一个必填的字符串输入框,category字段是一个多选下拉框,包含三个选项:Music、Movies和Books。最后,submit字段是一个提交按钮。
在视图函数中,我们可以像下面这样使用这个表单:
```python
@app.route('/search', methods=['GET', 'POST'])
def search():
form = SearchForm()
if form.validate_on_submit():
keywords = form.keywords.data
categories = form.category.data
# 执行搜索操作
# ...
return render_template('search.html', form=form)
```
在上面的代码中,我们首先实例化了SearchForm类,然后在表单提交时获取keywords和categories字段的数据,执行搜索操作并返回搜索结果。最后,我们将表单传递给模板文件,以便在前端渲染表单。