在Python中访问类属性时遇到问题

在Python中访问类属性时遇到问题,python,flask,lob,Python,Flask,Lob,我在flask中有一个路由,用于通过http将大量变量传递到函数中。除了“biz”变量外,一切都很顺利。这是我的功能 @app.route("/sendcheck/<name>/<address_object>/<amount>/<memo>/<biz>", methods=['GET', 'POST']) def create_check(name, address_object, amount, memo, biz): ch

我在flask中有一个路由,用于通过http将大量变量传递到函数中。除了“biz”变量外,一切都很顺利。这是我的功能

@app.route("/sendcheck/<name>/<address_object>/<amount>/<memo>/<biz>", methods=['GET', 'POST'])
def create_check(name, address_object, amount, memo, biz):
    check = lob.Check.create(
        description = 'Check for {}'.format(name),
        to_address = address_object,
        from_address = biz.address,
        bank_account = biz.bank,
        amount = amount,
        memo = memo,
        logo = open(biz_0.logo, 'rb'),
        check_bottom = '<h1 style="padding-top:4in;">{{name}}, attached is your check', #add a custom bottom
        data = {
          'name': name
        }
    )
@app.route(“/sendcheck//”,methods=['GET','POST']))
def创建支票(姓名、地址、对象、金额、备忘录、业务):
check=lob.check.create(
description='检查{}'。格式(名称),
to_address=地址对象,
from_address=biz.address,
银行账户=商业银行,
金额=金额,
备忘录,
logo=open(biz_0.logo,'rb'),
check#u bottom='{{name}},附件是您的支票',#添加自定义底部
数据={
“名称”:名称
}
)
biz
变量访问具有各种属性的类。因此,如果变量的值为
biz_1
,则输入
biz.address
应与
biz_1.address
相同,但不起作用。我要

AttributeError:'unicode'对象没有属性“address”


我做错了什么?

这远非理想,但我就是这样解决的。我愿意接受建议

@app.route("/sendcheck/<name>/<address_object>/<amount>/<memo>/<biz>", methods=['GET', 'POST'])
def create_check(name, address_object, amount, memo, biz):
    if biz == 'biz_0':
        biz = biz_0
    elif biz == 'biz_1':
        biz = biz_1
    elif biz == 'biz_2':
        biz = biz_2
    elif biz == 'biz_3':
        biz = biz_3
    check = lob.Check.create(
        description = 'Check for {}'.format(name),
        to_address = address_object,
        from_address = biz.address,
        bank_account = biz.bank,
        amount = amount,
        memo = memo,
        logo = open(biz_0.logo, 'rb'),
        check_bottom = '<h1 style="padding-top:4in;">{{name}}, attached is your check', #add a custom bottom
        data = {
          'name': name
        }
    )
@app.route(“/sendcheck//”,methods=['GET','POST']))
def创建支票(姓名、地址、对象、金额、备忘录、业务):
如果biz=='biz_0':
biz=biz_0
elif biz==“biz_1”:
biz=biz_1
elif biz==“biz_2”:
biz=biz_2
elif biz==“biz_3”:
biz=biz_3
check=lob.check.create(
description='检查{}'。格式(名称),
to_address=地址对象,
from_address=biz.address,
银行账户=商业银行,
金额=金额,
备忘录,
logo=open(biz_0.logo,'rb'),
check#u bottom='{{name}},附件是您的支票',#添加自定义底部
数据={
“名称”:名称
}
)

No
biz
是Flask传入的路径段,只是一个Unicode字符串。这样的字符串没有属性
biz
在这方面与
name
address\u object
amount
没有区别。显然
biz
不是一个类,而是一个unicode对象。print
biz
您是否打算使用这些路径段值来检索特定类的实例?仅根据发布的代码和错误,您将unicode对象传递给biz,而不是您认为具有属性的对象。发布呼叫代码,有人可以提供进一步帮助。@AlanLeuthard:这是一条烧瓶路线。传入的参数基于实际使用的URL,与括号中的route元素匹配。您可以向其中添加类型解析,但这里没有任何类型解析,所以这些都是unicode字符串。