我正在尝试将Flask-Admin和某人编写的Flask S3 Tool Suite结合起来将图像存储到Amazon S3简单存储中。我试图专门使用的工具是S3Saver
功能,在文章链接中,用户继续说要合并这个工具,理想情况下我会在flask-admin回调中使用它。
但是,我无法在任何地方找到Flask-Admin回调列表。我完成了我的作业,并且我已经检查了这些回调的整个文档和源代码Flask-Admin documentation。
在flask_admin.contrib.sqla
我发现了一些类似于回调的方法,但它不是我想要的。我想这与Rails的before_action
和after_action
很接近。有人可以指出我正确的方向吗?
顺便说一下,这是文章的实际引用
如果你想处理删除管理员中的文件,你可以(例如)使用s3-saver,并将其挂钩到其中一个Flask-Admin事件回调中
那些回调是什么?
答案 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事件的文档:
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调用(如果有的话) 商店后端的含义。)
默认情况下不执行任何操作。