wtforms TextField/SearchField,带有flask应用程序的自动完成功能(类似于google搜索栏)

2024-09-25 00:30:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在寻找wtforms的SelectField和Textfield的混合体,在这里可以输入一个字符串,该字符串是从给定的选项列表中验证和自动完成的,比如SearchField中的choice参数。在

目前我有这个实现,它只是一个下拉菜单,但我希望用户能够键入任何字符串。当输入字符串时,所有匹配的选项都应该显示在一个下拉列表中,就像在google搜索栏中一样。在

possible_names = {0:'hans', 1:'sepp', 3:'max'}

class ReusableForm(Form):
  name = SelectField("Enter a Name", 
        choices=[(uuid, name) for uuid, name in possible_names.items()],
        validators=[validators.InputRequired()])

Tags: 字符串name列表参数uuidnames选项wtforms
1条回答
网友
1楼 · 发布于 2024-09-25 00:30:35

Select2 JQuery library可能是您想要的。不幸的是,在烧瓶里是不可能实现目标的。需要JS。在

from flask import Flask, render_template
from flask_wtf import Form
from wtforms import SelectField, validators

app = Flask(__name__)
app.config['SECRET_KEY'] = 'YOUR SECRET KEY'

possible_names = {'0': 'hans', '1': 'sepp', '3': 'max'}  # options should be str so that empty choice option is valid


class ReusableForm(Form):
    name = SelectField("Enter a Name",
                       choices=[("", "")] + [(uuid, name) for uuid, name in possible_names.items()],  # [("", "")] is needed for a placeholder
                       validators=[validators.InputRequired()])

模板:

^{pr2}$

相关问题 更多 >