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

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

解答

如果你创建一个扩展flask.ext.admin.contrib.sqla.ModelView的类,你可以重写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

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐