我有以下类定义:class TestHandler(webapp2.RequestHandler): def get(self): self.msg = "hello world" self.render_form() # modifies self.msg def post(self): print self.msg #... #... #... self.render_form()运行时,出现以下错误:post print self.msg中的文件“ /Users/mhalsharif/Desktop/wordsnet1/ascii-chan/main.py”第129行,AttributeError:“ AnswersHandler”对象没有属性“ msg”我只是试图在'msg'属性中保存一个字符串,并在调用post()时将其打印出来。我为什么不能这样做?以及如何解决?
2 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
webapp2将为每个接收到的请求实例化一个新的处理程序,因此无法保证如果self.something
在一个请求中进行了设置,那么您将能够与另一个请求检索相同的值,仅仅是因为self
它将是一个不同的对象。
这就是您的情况:处理您的get和post请求的处理程序不是同一实例,因此post
将无法读取,self.msg
因为它从未设置过。
您可以查看文档,以更好地了解处理程序的生命周期。
添加回答
举报
0/150
提交
取消