使用webapp框架再现Hello World

使用 webapp 框架

App Engine 包括其自己的简单网络应用程序框架,称为 webappwebapp 框架已安装在 App Engine 环境和 SDK 中,因此无需将其与应用程序代码捆绑即可使用。

Hello, webapp!

一个 webapp 应用程序包含三部分:

  • 一个或多个 RequestHandler 类,用于处理请求和构建响应
  • 一个 WSGIApplication 实例,按照网址将收到的请求发送给处理程序
  • 一个主要例行程序,用于使用 CGI 适配器运行 WSGIApplication

编辑 helloworld/helloworld.py

 
  
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def
get (self):
self.response.headers[
' Content-Type ' ] = ' text/plain '
self.response.
out .write( ' Hello, webapp World! ' )

application
= webapp.WSGIApplication([( ' / ' , MainPage)],debug = True)

def main():
run_wsgi_app(application)

if __name__ == " __main__ " :
main()

在浏览器中重新加载 http://localhost:8080/,以了解正在使用的新版本。(如果已停止您的网络服务器,请通过运行 Hello, World! 中介绍的命令来重新启动。)

webapp 的功能

webapp 模块位于 google.appengine.ext 包中。SDK 以及生产运行时环境中均提供该模块。

该代码定义一个映射到根网址 (/) 的请求处理程序 MainPage。当 webapp 收到网址 / 的 HTTP GET 请求时,它会将 MainPage 类实例化并调用该实例的 get 方法。在该方法中,可以使用 self.request 获得有关请求的信息。通常情况下,该方法在 self.response 上设置属性以准备响应,然后退出。webapp 将基于 MainPage 实例的最终状态发送响应。

应用程序本身由 webapp.WSGIApplication 实例表示。如果处理程序遇到错误或引发未捕捉的异常,则传递给其构造函数的参数 debug=true 将通知 webapp 将堆栈记录打印到浏览器输出。您可能需要从应用程序的最终版本中删除此选项。

函数 run_wsgi_app() 使用 WSGIApplication 实例(或其他与 WSGI 兼容的应用程序对象)并在 App Engine 的 CGI 环境中运行此实例。run_wsgi_app() 与 Python 标准库中的 wsgiref 模块提供的从 WSGI 到 CGI 的适配器相似,但前者包含其他几个功能。例如,它可自动检测应用程序是在开发服务器中运行还是在 App Engine 上运行,如果在开发服务器上运行,则在浏览器中显示错误。

转载于:https://www.cnblogs.com/allenblogs/archive/2011/04/15/2016849.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值