对于flask appbuilder[modelview],如何在不选择任何项目的情况下添加动作

问题描述

我使用flask-appbuilder,我使用ModelView Like:

class ListView(ModelView):
    datamodel = sqlAInterface(mylist)
    edit_form = listEditForm

     list_title = "List"
     list_columns = ["listid",'listtype','listowner','creationtime','creationempid','changetime','changeempid']
     related_views = [ListNumberView]

我想在 ListNumberView 上构建一个不需要选择项目的表单操作。

我的意思是我想在 ListNumberView 的列表页面上添加一个按钮,它可以链接到其他页面,不需要选择任何项目。

怎么做。

解决方法

您可以创建一个小部件并将其保存在 /templates/widgets/base_list.html 下。添加以下内容。

{% extends 'appbuilder/general/widgets/base_list.html' %}

{% block list_header %}
   {{ super() }}
   <a href={{url_for('NameModelView' + '.download_csv',**request.args)}} class="btn btn-sm btn-primary"
        <i class="fa fa-rocket"></i>
   </a>
{% endblock %}

该按钮将呈现在分页、添加和下载按钮旁边的列表标题上。