我试图在我的一个flask视图中实现Select2字段。 基本上我想在我的flask应用程序视图(不是flask admin modelview)中使用与Flask-admin model create views相同的select2字段。 目前我的解决方案是来自wtforms的QuerySelectField
,看起来像这样
class TestForm(Form):
name= QuerySelectField(query_factory=lambda: models.User.query.all())
这允许我加载并选择我需要的所有数据,但它不提供select2搜索框等。 目前所有我发现的是Select2Field
和Select2Widget
从flask/admin/form/fields和flask/admin/form/widgets类似于在这篇文章https://stackoverflow.com/questions/24644960/how-to-steal-flask-admin-tag-form-field并在选择2个文档http://ivaynberg.github.io/select2/
据我所知,这些可以是可重用的,这意味着不需要其他自定义小部件,自定义字段。
如果有人能在flask应用程序中提供有关select2字段实现的更多信息(包括视图,模板,表单文件以及如何与neccessary js和css文件正确"连接",以及如何将字段加载到我需
我有一个类似的要求,并提出了一个最小的例子。
请注意以下事项:
Class
TestView
定义了三个路由;一个get视图,一个post视图和一个Ajax查找视图。Function
get_loader_by_name
接受字符串名称并返回aQueryAjaxModelLoader
。 此函数用于Ajax查找调用和TestForm
字段定义。Select2窗口小部件中显示的文本是用户模型的
__unicode__
方法返回的值。我已经使用Faker来生成样本用户数据。
文件app.py:
文件模板/索引。html:
文件模板/测试。html:
2018年7月更新
在Github上添加了一个独立的Flask扩展-Flask-Select2-WIP。