Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过appbuilder使字段只读_Python_Flask_Flask Appbuilder - Fatal编程技术网

Python 如何通过appbuilder使字段只读

Python 如何通过appbuilder使字段只读,python,flask,flask-appbuilder,Python,Flask,Flask Appbuilder,我要用什么替换文本字段,我知道我要用我的字段替换字段2,我正试图使其成为只读。我得到: NameError: name *'TextField' is not defined* 定义/覆盖只读字段如下,首先定义一个新的只读字段: from flask_appbuilder.fieldwidgets import BS3TextFieldWidget class BS3TextFieldROWidget(BS3TextFieldWidget): def __call__(self, f

我要用什么替换文本字段,我知道我要用我的字段替换字段2,我正试图使其成为只读。我得到:

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