Как передать массив классу Python во FLASK - PullRequest
0 голосов
/ 09 февраля 2019

Я недавно начал работать с flask-python.Я пытаюсь отправить массив чтения из базы данных в класс, который определяет форму.Вот мой класс:

# livraison Form Class
class livraisonForm(Form):

    list_assurances=['-', u'Aucune assurance trouvée']

    type_assur = SelectField(u'Type d\'assurance', choices=list_assurances)


    # INIT function :
    def __init__(self, list_assurances, *args, **kwargs):
        super(Form)
        self.list_assurances = list_assurances

Вот как я пытаюсь передать массив в функцию init

def add_livraison():
    form = livraisonForm(request.form, get_assurances())

функция get_assurances () возвращает массив, как упомянуто ниже:

def get_assurances():

    # Create db cursor
    cur = mysql.get_db().cursor()

    # Get user by username
    result = cur.execute("SELECT ID_ASSURANCE, DESCRIPTION FROM type_assurance ")

    if result > 0:
        # Get assurances list
        data = cur.fetchone()

        # Close connection
        cur.close()
        return [(i[0]+'',  i[1]+'') for i in data]


    # Close connection
    cur.close()

    return ['-', u'Aucun assur trouvée']

к сожалению, у меня проблема с классом формы:

TypeError: объект 'UnboundField' не может быть вызван

Я пыталсяудалите переменную list_assurances из формы и вызвали функцию напрямую, но у меня возникла проблема, заключающаяся в том, что в базе данных нет курсора атрибута.

Я хотел бы знать, как правильно отправить массив в класс -Форма для занятий в колбе.

Большое вам спасибо

1 Ответ

0 голосов
/ 09 февраля 2019
   form = livraisonForm(request.form, get_assurances())

Здесь вы фактически присваиваете request.form функции self.assurances, а не get_assurances (), как следует.

Попробуйте это так:

form = livraisonForm(get_assurances())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...