在烧瓶管理模型视图只读文本字段(Readonly text field in Flask-Admin

2019-07-19 21:44发布

我怎样才能让在现场ModelView只读?

class MyModelView(BaseModelView):
    column_list = ('name', 'last_name', 'email')

Answer 1:

如果你在谈论的烧瓶联系与SQLAlchemy的模型,而你从sqlamodel.ModelView继承声明一个观点,你可以添加到您的类定义:

class MyModelView(BaseModelView):
    column_list = ('name', 'last_name', 'email')
    form_widget_args = {
        'email':{
            'disabled':True
        }
    }


Answer 2:

我没有足够的声誉上@ thkang的答案,这是非常接近,为我工作发表评论。 所述disabled属性从POST数据不包括场,但使用readonly了预期的效果。

from wtforms.fields import TextField

class ReadonlyTextField(TextField):
  def __call__(self, *args, **kwargs):
    kwargs.setdefault('readonly', True)
    return super(ReadonlyTextField, self).__call__(*args, **kwargs)


Answer 3:

试试这个:

class DisabledTextField(TextField):
  def __call__(self, *args, **kwargs):
    kwargs.setdefault('disabled', True)
    return super(DisabledTextField, self).__call__(*args, **kwargs)


Answer 4:

我奇怪的错误,当我试图使用disabled文本字段,所以我用readonly ,而不是:

class MyModelView(BaseModelView):
    column_list = ('name', 'last_name', 'email')
    form_widget_args = {
        'email':{
            'readonly':True
        }
    }


Answer 5:

当你渲染你的神社模板现场,只是通过在disabled=true如果WTForms不承认kwarg,它只是传递它是html元素的属性。

<form>
{{ form.example(disabled=True) }}
</form>


文章来源: Readonly text field in Flask-Admin ModelView