我是网络应用开发的新手。显示' Hello World'的pyhton文件。在浏览器中
import webapp2
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello World')
app = webapp2.WSGIApplication([('/', MainHandler)
], debug=True)
我无法理解的是行的功能
app = webapp2.WSGIApplication([(' /',MainHandler) ],debug = True)
我在网上搜索了答案,但没有得到满意的答复。考虑到我是初学者,如果有人能解释它会很棒。
答案 0 :(得分:0)
据我所知webapp2.WSGIApplication
在默认端口上创建一个新的侦听器。当您键入127.0.0.1/
时,浏览器会向您的应用程序发送一个监听默认端口的请求(我假设它是80)。 webapp2.WSGIApplication
侦听器将为此请求(以及它接收的每个请求)创建MainHandler
的新实例。然后,WSGIApplication将触发get
覆盖MainHandler
的方法以生成输出。在一天结束时,WSGIApplication将提供输出文本。
答案 1 :(得分:0)
通过这一行,您可以创建自己的wsgi Web应用程序。
app = webapp2.WSGIApplication([('/', MainHandler) ], debug=True)
所以让我们把它分解成更小的部分。
如果您对任何语言(通常是概念)的网络编程都很熟悉,那么您应该知道您的服务器应该知道他将要服务的网址是什么。在您的情况下,您已注册" /" (root)url,与http://127.0.0.1/相同。而且你已经定义了" /"的响应。 url将提供MainHandler类。
('/', MainHandler)
因此,当请求到达您的wsgi服务器时,它将被重定向到您的MainHandler get 方法。通常,您的 get 处理程序应该进行正确的http响应。由于您的MainHandler类继承自webapp2.RequestHandler类,因此它已经有一些工具来做出响应,因此您不会关注http标头等等。通过以下行,您将形成响应,在您的情况下只是一个简单的字符串" Hello World"。
self.response.write('Hello World')
在你的获取函数调用之后,wsgi服务器将发送回已经形成的http响应的浏览器,如下所示:
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: length
Hello World.
您还可以查看this tutorial以获取有关webapp2框架的更多详细信息。
祝你好运。