有人可以告诉我在哪里可以找到Flask-Admin回调吗?

时间:2016-01-14 19:32:59

标签: python flask flask-admin

我正在尝试将Flask-Admin和某人编写的Flask S3 Tool Suite结合起来将图像存储到Amazon S3简单存储中。我试图专门使用的工具是S3Saver功能,在文章链接中,用户继续说要合并这个工具,理想情况下我会在flask-admin回调中使用它。

但是,我无法在任何地方找到Flask-Admin回调列表。我完成了我的作业,并且我已经检查了这些回调的整个文档和源代码Flask-Admin documentation

flask_admin.contrib.sqla我发现了一些类似于回调的方法,但它不是我想要的。我想这与Rails的before_actionafter_action很接近。有人可以指出我正确的方向吗?

顺便说一下,这是文章的实际引用

  

如果你想处理删除管理员中的文件,你可以(例如)使用s3-saver,并将其挂钩到其中一个Flask-Admin事件回调中

那些回调是什么?

2 个答案:

答案 0 :(得分:2)

Flask-Admin回调函数(据我所知)

after_model_change(form, model, is_created)
#Called from create_model after successful database commit.

after_model_delete(model)
#Called from delete_model after successful database commit (if it has any meaning for a store backend).


on_form_prefill(form,id) 
# Called from edit_view, if the current action is rendering the form rather than receiving client side input, after default pre-filling has been performed.

on_model_change(form,model,is_created) 
#Called from create_model and update_model in the same transaction (if it has any meaning for a store backend).

on_model_delete(model) 
# Called from delete_model in the same transaction (if it has any meaning for a store backend).

http://flask-admin.readthedocs.org/en/latest/api/mod_model/的更多信息(搜索“来自”)

答案 1 :(得分:1)

以下是Flask Admin事件的文档:

https://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask_admin.model.BaseModelView.on_form_prefill

  

on_form_prefill(form,id)执行其他操作以预先填写修改表单。

     

如果当前操作正在呈现表单,则从edit_view调用   默认预填充后,而不是接收客户端输入   已经完成了。

     

默认情况下不执行任何操作。

     

如果您添加了自定义字段,则只需覆盖此选项   以Flask-admin无法想象的方式依赖于数据库内容   单独出来。按正常列或名称添加的字段   关系应该开箱即用。

     

参数:form - 表单实例id - 正在进行的对象的id   待编辑

     

on_model_change(form,model,is_created)在创建或更新模型之前执行一些操作。

     

在同一事务中从create_model和update_model调用(如果   它对商店后端有任何意义。)

     

默认情况下不执行任何操作。

     

参数:form - 用于创建/更新模型模型的表单 - 模型   将创建/更新is_created - 如果是model,将设置为True   已创建,如果已编辑,则为False

     

on_model_delete(model)在删除模型之前执行一些操作。

     

在同一个交易中从delete_model调用(如果有的话)   商店后端的含义。)

     

默认情况下不执行任何操作。