如何在FLASK中将数组传递给python类

时间:2019-02-08 21:32:26

标签: python flask

我最近开始使用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变量并直接调用该函数,但是我遇到一个问题,即数据库没有属性游标。

我想知道什么是将烧瓶中的数组发送到class -form class-的正确方法。

非常感谢您

1 个答案:

答案 0 :(得分:0)

   form = livraisonForm(request.form, get_assurances())

实际上,您实际上是在将request.form分配给self.assurances,而不是您应该分配的get_assurances()。

尝试这样:

form = livraisonForm(get_assurances())