我是Python的新手,并且试图使用Appengine来获取以下代码工作:
class MainPage(webapp2.RequestHandler):
def show(self, display=""):
msg = """<!doctype html>
<head>
<meta charset="utf-8"/>
<title> Message </title>
</head>
<body>
<div name=text>
%(text)s
</div>
</body>
</html>"""
self.response.write(msg % {"text":display})
class RetCall(webapp2.RequestHandler):
self.response.headers['Content-Type'] = 'text/html'
text_entered = self.request.get('text')
text_entered = "Hey " + text_entered
m = MainPage()
m.show(text_entered)
我排除的MainPage
中有一个get函数。当我这样运行时,我会收到错误:
attributeError:'nontype'对象没有属性'写'
我通过使用m
- MainPage
的实例作为对象,它应该起作用。我要去哪里?
通过self.Response
def show(response, display=""):
msg = """<!doctype html>
<head>
<meta charset="utf-8"/>
<title> Message </title>
</head>
<body>
<div name=text>
%(text)s
</div>
</body>
</html>"""
response.write(msg % {"text":display})
class MainPage(BaseHandler):
pass
class RetCall(BaseHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/html'
text_entered = self.request.get('text')
text_entered = "Hey " + text_entered
show(self.response, text_entered)
那是因为webapp2.RequestHandler
在构造时没有得到response
。WebApp2自动创建响应类,并在请求路由到该请求时将其传递给您的处理程序。有关更多信息,请参见WebApp2的路由文档。
如果您只想测试处理程序,请查看WebApp2的单元测试文档。它不仅对单元测试有用,而且仅在诸如python shell之类的交互环境中尝试一下。