zoukankan      html  css  js  c++  java
  • 使用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 上运行,如果在开发服务器上运行,则在浏览器中显示错误。

    Work for fun,Live for love!
  • 相关阅读:
    Python 存储引擎 数据类型 主键
    Python 数据库
    Python 线程池进程池 异步回调 协程 IO模型
    Python GIL锁 死锁 递归锁 event事件 信号量
    Python 进程间通信 线程
    Python 计算机发展史 多道技术 进程 守护进程 孤儿和僵尸进程 互斥锁
    Python 异常及处理 文件上传事例 UDP socketserver模块
    Python socket 粘包问题 报头
    Django基础,Day7
    Django基础,Day6
  • 原文地址:https://www.cnblogs.com/allenblogs/p/2016849.html
Copyright © 2011-2022 走看看