在Python中访问类属性时遇到问题
我在flask中有一个路由,用于通过http将大量变量传递到函数中。除了“biz”变量外,一切都很顺利。这是我的功能在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
@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}},附件是您的支票',#添加自定义底部
数据={
“名称”:名称
}
)
Nobiz
是Flask传入的路径段,只是一个Unicode字符串。这样的字符串没有属性biz
在这方面与name
、address\u object
和amount
没有区别。显然biz
不是一个类,而是一个unicode对象。printbiz
您是否打算使用这些路径段值来检索特定类的实例?仅根据发布的代码和错误,您将unicode对象传递给biz,而不是您认为具有属性的对象。发布呼叫代码,有人可以提供进一步帮助。@AlanLeuthard:这是一条烧瓶路线。传入的参数基于实际使用的URL,与括号中的route元素匹配。您可以向其中添加类型解析,但这里没有任何类型解析,所以这些都是unicode字符串。