python - Flask 如何通过 appbuilder 将字段设置为只读

标签 python flask flask-appbuilder

我用什么替换文本字段,我知道我用我试图设为只读的字段替换了 field2。我得到:

NameError: name *'TextField' is not defined*

像这样定义/覆盖只读字段,首先定义一个新的只读字段:

from flask_appbuilder.fieldwidgets import BS3TextFieldWidget

class BS3TextFieldROWidget(BS3TextFieldWidget):
    def __call__(self, field, **kwargs):
        kwargs['readonly'] = 'true'
        return super(BS3TextFieldROWidget, self).__call__(field, 
**kwargs)

接下来使用您的新小部件覆盖您的字段:

class ExampleView(ModelView):
    datamodel = SQLAInterface(ExampleModel)
    edit_form_extra_fields = {'field2': TextField('field2',
                                widget=BS3TextFieldROWidget())}

最佳答案

确保在文件顶部声明了它

从 wtforms.fields 导入 TextField

关于python - Flask 如何通过 appbuilder 将字段设置为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51169160/

相关文章:

python - 从 javascript 调用到 python 时,带参数的 Flaskr url_for 不起作用

python - Flask-Appbuilder 根据用户更改默认登陆页面

python-3.x - 如何禁用 Airflow 登录以进行身份​​验证和授权?

python - Django 和 postgres - 在模型字段中将数据存储为 json 的缺点

python - 如何顺序运行多个 python 脚本?

python 查找具有特定标签的数据最近的行

python - Flask 模板中点符号和方括号之间的区别

python - 符号的第一次和最后一次出现(没有正则表达式的Python)

javascript - 使用 jQuery 中 GET 请求的信息通过 Flask 显示转换后的结果

python - Flask Appbuilder 的 AWS Cognito OAuth 配置