【问题标题】:Flask-Admin - custom view with original formFlask-Admin - 原始表单的自定义视图
【发布时间】:2018-03-26 22:24:44
【问题描述】:

我正在尝试在 Flask-Admin 中创建一个自定义编辑视图,我在其中使用原始编辑表单并向其添加更多内容。

我想在我的模板中使用原件:

{% extends 'admin/master.html' %}
{% import 'admin/lib.html' as lib with context %}

(...)

{% block edit_form %}
    {{ lib.render_form(form, return_url, extra(), form_opts) }}
{% endblock %}

但我无法将原始表单传递给自定义视图中的 self.render(...) 函数:

class MyView(sqla.ModelView):
    # (view options)

    @expose('/edit/', methods=('GET', 'POST'))
    def edit_view(self):
        # (custom view variables)

        return self.render('my_edit_view.html')

我相信我必须在self.render 函数中传递一些参数。我试图包含一个form = form,但它不起作用(TypeError: 'module' object is not iterable)...

有什么想法吗?

谢谢!!

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    感谢这个答案:https://stackoverflow.com/a/20714237/7811624

    我相信在自定义视图中使用原始表单和额外字段的正确方法是:

    class MyView(sqla.ModelView):
        # (view options)
        edit_template = 'my_edit_view.html'
    
        @expose('/edit/', methods=('GET', 'POST'))
        def edit_view(self):
            # (custom view variables)
            # for the extra variables you wanna pass on to the template:
            self._template_args['foo'] = bar 
    
            return super(MyView, self).edit_view()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      相关资源
      最近更新 更多