чем заменить текстовое поле, я знаю, что я заменяю 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())}