如何更改 Flask Admin 上的按钮逻辑?

How change button logic on Flask Admin?

我想更改 Flask-Admin 上按钮的逻辑。确切地说:保存按钮。 保存按钮应向其他 URL 发送请求,然后将响应保存在数据库中。我可以这样做吗?怎么样?

如果创建扩展 flask.ext.admin.contrib.sqla.ModelView 的 class,则可以覆盖 on_model_change 方法。

http://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.on_model_change

例如,像这样:

from flask.ext.admin.contrib.sqla import ModelView

from my_app import app, db
from models import MyModel


class MyModelView(ModelView):
    ...

    def on_model_change(self, form, model, is_created):
        # Custom code to call URL
        # Custom code to save to DB
        ...

admin = Admin(app)
admin.add_view(MyModelViewView(MyModel, db.session))

您可能还会发现您的问题已在此处得到解答:Customize (override) Flask-Admin's Submit method from edit view