flask-admin modelView 如何在create和edit显示不同表单提交

在一个客户项目中,对客户来说一些没必要的字段,需要隐藏。

而使用flask-admin构建后台时,它的CRUD模型的编辑和创建都是根据Model设置的。

于是我使用form_create_rules和form_edit_rules来进行选择编辑,但是Debug命令行会总是发出警告:UserWarning: Fields missing from ruleset................,于是上网搜了一下,发现大家都是选择忽略警告,不满意。终于在flask-admin的api文档中找个一个字段可以通用完成这个功能,又不需要涉及Field rules,显示效果是一样的,完美。。

代码如下:

class PostView(AdminModelView):
    """View function of Flask-Admin for Post create/edit Page includedin Models page"""

    # show columns in edit or create page
    form_columns = ('title', 'text',)

看一下效果:

没设置之前:

设置之后

由于有些字段都是用来做过滤用的,客户编辑并不需要,这样看起来清爽很多,而且不会出现csrf_token的警告。

自己备注一下,发现一个小功能:可以设置字段为只读模式,这个也不错

# If you want to make them not editable in form view: use this piece:
    form_widget_args = {
        'title': {
            'readonly': True
        },
    }

Good Lucky~

猜你喜欢

转载自blog.csdn.net/gh254172840/article/details/81363073