在函数web2py中向传递的变量添加整数

时间:2015-01-16 09:41:53

标签: web2py

我尝试将变量从功能一传递到功能二后进行计算,但是我收到错误。我试着解释一下这个:

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'

我很感激这方面的一些帮助。感谢。

1 个答案:

答案 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)