use*_*987 11 python flask flask-sqlalchemy flask-admin
如何在ModelViewreadonly 上创建一个字段?
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
Run Code Online (Sandbox Code Playgroud)
小智 13
如果您正在使用SQLAlchemy模型讨论Flask-Admin,并且您通过继承sqlamodel.ModelView来声明视图,则可以将其添加到类定义中:
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
form_widget_args = {
'email':{
'disabled':True
}
}
Run Code Online (Sandbox Code Playgroud)
小智 10
我没有足够的声誉评论@ 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)
Run Code Online (Sandbox Code Playgroud)
试试这个:
class DisabledTextField(TextField):
def __call__(self, *args, **kwargs):
kwargs.setdefault('disabled', True)
return super(DisabledTextField, self).__call__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
尝试disabled用于文本字段时出现奇怪的错误,所以我readonly改用了:
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
form_widget_args = {
'email':{
'readonly':True
}
}
Run Code Online (Sandbox Code Playgroud)
当您在Jinja模板中渲染字段时,disabled=true如果WTForms无法识别kwarg,只需传入它,它只是将它传递给html元素的属性.
<form>
{{ form.example(disabled=True) }}
</form>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7976 次 |
| 最近记录: |