我正在创建一个像这样的简单web.py服务
urls = (
'/test', 'index'
)
class index:
def GET(self):
user_data = web.input()
return performstuff(user_data.color, user_data.shade)
def performstuff(color, shade):
return "color is " + color + " shade is: " + shade
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
当我运行这个并转到:http://:8080 / test?color = red& shade = dark我收到错误global name 'performstuff' is not defined
我该如何解决这个问题?基本上我试图在我的类中创建另一个函数,这样它可以做一些业务逻辑,然后我可以简单地在我的GET方法中返回它的结果。
答案 0 :(得分:2)
对于python对象,成员函数需要用self
引用,即:
def GET(self):
user_data = web.input()
return self.performstuff(user_data.color, user_data.shade)
答案 1 :(得分:1)
performstuff
是class index
的一种方法,因此,您必须在self
前加上它。
def GET(self):
user_data = web.input()
return self.performstuff(user_data.color, user_data.shade)
答案 2 :(得分:0)
@Anthony
要访问performstuff
的{{1}}方法,您可以创建类的实例(class doit
,或在方法声明上方添加myInstance = doit(); myInstance.performstuff()
,然后说@classmethod