1
我在使用瓶WTF这个命名约定形式几个要素...如何使用字符串从窗体访问嵌套属性?
# req_app_qty
# req_app_note
# req_main_qty
# req_main_note
# req_side_qty
# req_side_note
# req_bread_qty
# req_bread_note
# continued...
我可以手动访问表单数据是这样的...
print "Manually (qty): " , form.req_app_qty.data # works fine
print "Manually (note): " , form.req_app_note.data # works fine
但我想访问此表单数据,更自动化的方式...
categories = [ "app", "main", "side", "bread", "dessert", "bev", "uten", "cups", "misc"]
for x in categories:
field1 = "req_%s_qty.data" % x # create a string to represent the attributes
field2 = "req_%s_note.data" % x # create a string to represent the attributes
qty_rqst = form.field1.data # fails
rqst_note = form.field2.data # fails
# also tried
print "QTY=", getattr(form, field1) # fails
print "Note:", getattr(form, field2) # fails
我尝试了上述这些方法,他们都失败了......
第一种方法行失败,出现错误,指出表单没有属性'field1'或'field2'。
至于访问表单数据的第二个方法,下面几行失败,一个错误,指出没有属性“req_app_qty.data”
print "QTY=", getattr(form, field1) # fails
如何创建一个字符串访问这些表单属性?
根据您的回答,我的类别做了以下修改来解决问题.. 对于x req_%s_note“%x#创建一个字符串来表示属性 qty_rqst = getattr(form,field1).data#now works rqst_note = getattr(form,field2).data#now works now – marvcode