我如何称呼具有自我的函数

  • 本文关键字:自我 函数 python
  • 更新时间 :
  • 英文 :


我是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之类的交互环境中尝试一下。

最新更新