【问题标题】:Flask Admin Get Instance of Model in ModelView Custom TemplateFlask Admin 获取 ModelView 自定义模板中的模型实例
【发布时间】:2019-01-21 10:01:05
【问题描述】:

我目前正在尝试使用 Flask Admin 上的模板为 detail_view 创建自定义 ModelView。但是,我正在努力弄清楚如何访问用户正在查看其详细信息的模型实例。

这是我的自定义模型视图:

class ShopModelView(MyModelView):
    can_view_details = True

    details_template = "custom_detail_view.html"

    @expose('/details/', methods=('GET', 'POST'))
    def details_view(self):
         self._template_args['all_transactions'] = #current_shop_object#.transactions.order_by(Transaction.timestamp.desc())

         return super(ShopModelView, self).details_view()

查看this post,可以使用self.model 获得模型的类,但是这会返回类而不是正在访问的特定模型的实例。

TemplatesModelView 上的文档似乎没有解释它。

如何获取正在访问的特定模型的实例?

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    原来模型的当前实例可以通过 jinja2 模板文件中的变量model 访问。因此,不要像我尝试的那样将变量解析为模板参数:self._template_args['all_transactions'] = #current_shop_object#.transactions.order_by(Transaction.timestamp.desc())

    {{ model.transactions.all() }} 达到了我想要的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      相关资源
      最近更新 更多