我尝试将变量从功能一传递到功能二后进行计算,但是我收到错误。我试着解释一下这个:
def one():
a = 5
return dict(a = a)
def two():
b = request.vars['value']
c = 3
d = b - c
return dict(b=b, c=c, d=d)
在视图默认/ one.html 中,我有以下内容:
{{=A("link",_href=URL("two", vars=dict(value=a)))}}
然后,在视图 default / two.html 中,我有以下内容:
{{=d}}
此时我收到此错误:TypeError:不支持的操作数类型 - :' str'和' int'
我很感激这方面的一些帮助。感谢。
答案 0 :(得分:0)
在request.vars dict中,它的键都是字符串,因此你不能只使用' - ',尝试int()该值,然后计算:
def two():
b = request.vars['value']
c = 3
num_b = 0
changed_value = False # to see if value changed
try:
num_b = int(b)
changed_value = True
except ValueError, error:
print error
if changed_value == True:
d = num_b - c
else: # not changed add your own code to the logic
# add your line
pass
return dict(b=b, c=c, d=d)