【问题标题】:How to add custom fields to ModelView (flask-appbuild)如何将自定义字段添加到 ModelView (flask-appbuild)
【发布时间】:2019-10-05 11:39:09
【问题描述】:

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

我已经定义了一个模型和一个模型视图,表格很好地显示在 webapp 上。

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

我浏览了 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 方法,我也会让 webapp 无法工作。有没有可能使用构造函数还是我需要实现自定义方法?

我想添加一个下拉菜单和一个按钮。如果我点击按钮,一个函数会提供一些数据,它们应该显示在文本字段中。

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

感谢您的帮助! 谢谢:)

【问题讨论】:

    标签: python flask flask-appbuilder


    【解决方案1】:

    一个老问题,但对于那些想知道如何添加按钮、链接等的人来说,你可以看看这个例子: 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>'
            )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 2018-08-11
      • 2016-09-01
      相关资源
      最近更新 更多