我最近开始使用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-的正确方法。
非常感谢您
答案 0 :(得分:0)
form = livraisonForm(request.form, get_assurances())
实际上,您实际上是在将request.form分配给self.assurances,而不是您应该分配的get_assurances()。
尝试这样:
form = livraisonForm(get_assurances())