Flask-Admin 增加自定义Action
Posted May 12, 2017
默认情况下, Flask Admin提供了两个Row Action, 即delete和edit. 但是大多数情况下, 这些并不能满足有其他快捷操作需求, 好在Flask Admin提供增加这种按钮的接口.
UserView.py
这是我原本的Admin ModelView实现, 很明显我没有对row actions做任务的定制.
增加row action按钮
我们可以通过column_extra_row_actions
属性增加row action.
Flask-admin提供了row action的模版, 其中上面使用的EndpointLinkRowAction
, 传入的是一个view(user.activate_user_view
). 它是定义在UserView上的一个view方法(请看下面代码). 同时row action也有LinkRowAction
类型, 它接受icon class和一个url. 另外它支持更多的类型, 请看这里:Github
增加对应的endpoint
在上面我们增加了一个EndpointLinkRowAction
, 但是我们还没有定义动作具体的逻辑. 下面我们定义user.activate_user_view
来接收这个动作的参数, 并实现相应的功能.
到此我们增加一个快速激活用户
的方法就完成了.