Колба как сделать поле доступным только для чтения через appbuilder - PullRequest
0 голосов
/ 04 июля 2018

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

1 Ответ

0 голосов
/ 04 июля 2018

убедитесь, что он объявлен в верхней части вашего файла

from wtforms.fields import TextField

...