我怎样才能让在现场ModelView
只读?
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
我怎样才能让在现场ModelView
只读?
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
如果你在谈论的烧瓶联系与SQLAlchemy的模型,而你从sqlamodel.ModelView继承声明一个观点,你可以添加到您的类定义:
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
form_widget_args = {
'email':{
'disabled':True
}
}
我没有足够的声誉上@ 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)
试试这个:
class DisabledTextField(TextField):
def __call__(self, *args, **kwargs):
kwargs.setdefault('disabled', True)
return super(DisabledTextField, self).__call__(*args, **kwargs)
我奇怪的错误,当我试图使用disabled
文本字段,所以我用readonly
,而不是:
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
form_widget_args = {
'email':{
'readonly':True
}
}
当你渲染你的神社模板现场,只是通过在disabled=true
如果WTForms不承认kwarg,它只是传递它是html元素的属性。
<form>
{{ form.example(disabled=True) }}
</form>