如何将自定义字段添加到ModelView(flask-appbuild)

时间:2019-05-18 10:51:50

标签: python flask flask-appbuilder

我是webdevoloping的新手,并尝试过flask-appbuilder。

我已经定义了一个模型以及一个模型视图,该表可以很好地显示在Web应用程序上。

如果要点击某项的详细信息视图,我想添加一些自定义字段(下拉菜单和一个按钮),但是我真的不知道如何实现这一目标。

我浏览了flask-appbuilder指南,但是没有发现有用的东西。

class RegionView(ModelView):
    datamodel = SQLAInterface(Region)
class Region(Model):
    __tablename__ = "region"
    region_id = Column(Integer, primary_key=True)
    region_domain = Column(String(100), unique=True)
    region_description = Column(String(100))

    def __repr__(self):
        return "Region(region_id = {rid}, region_domain = {rdo}, region_description = {rde}, type = {type})".format(rid=self.region_id,rdo = self.region_domain, rde = self.region_description, type=self.type)

如果定义了 init 方法,我还将使Web应用程序无法正常工作。有可能使用构造函数还是我需要实现自定义方法?

我想添加一个下拉列表和一个按钮。如果我按下按钮,则函数会提供一些数据,这些数据应显示在文本字段中。

当前:https://imgur.com/a/TMFa0GF 目标:https://imgur.com/21lJVBT

感谢您的帮助! 谢谢:)

1 个答案:

答案 0 :(得分:0)

一个古老的问题,但是对于那些想知道如何添加按钮,链接...的人来说,您可以看到以下示例: https://github.com/dpgaspar/Flask-AppBuilder/blob/master/examples/quickfiles/app/models.py

在模型内部定义了一个下载方法,该方法将返回定义链接(可能是按钮)的“标记”:

    def download(self):
        return Markup(
            '<a href="'
            + url_for("ProjectFilesModelView.download", filename=str(self.file))
            + '">Download</a>'
        )