3.GAE Hello World

GAE Hello World

  让我们实现一个简单的应用作为开场白吧,这个应用会显示简短欢迎词“Hello World!”

创建一个简单的请求处理程序

  新建一个文件夹,名为helloworld,将存放我们这个应用的全部文件。在helloworld文件夹内新建一个文件,名为helloworld.py,并用文本编辑器打开,写入以下内容:

 1 import webapp2
 2 
 3 class MainPage(webapp2.RequestHandler):
 4 
 5     def get(self):
 6         self.response.headers['Content-Type'] = 'text/plain'
 7         self.response.write('Hello, World!')
 8 
 9 application = webapp2.WSGIApplication([
10     ('/', MainPage),
11 ], debug=True)

  这个Python脚本会响应一个HTTP header请求,给予返回内容和信息“Hello World!”

创建一个配置文件

  每个GAE的应用都有一个配置文件,名为app.yaml,在其他方面,这个文件描述的是哪些URL应该用哪个处理程序脚本来处理。

  在文件夹helloworld目录内,新建文件,名为:app.yaml,用文本编辑器打开,写入一下内容:

1 application: your-app-id
2 version: 1
3 runtime: python27
4 api_version: 1
5 threadsafe: true
6 handlers:
7 - url: /.*
8   script: helloworld.application

  以上配置语句定义了应用的以下几个方面:

  ○这里的application identifier 就是我们的app ID。GAE上的每个应用都有一个独一无二的标识。当我们注册GAE的时候,我们可以为应用选择不同的名字。当然如果你只是在本地开发应用,你就随便取个app ID吧。

  ○以上是version 1 的代码。如果你改变版本号为2或者3,App Engine将会为你保留之前版本的代码,通过管理员控制台你可以回复之前版本的代码。

  ○代码运行于Python2.7、API 版本1环境中,其他的运行环境和编程语言将会越来越完善的。

  ○应用是线程保护的,所以能处理多个同时的请求。线程安全是一种先进的特性,如果您的应用程序不是专门设计来是线程安全的,可能会导致不稳定的行为。

  ○每个匹配正则表达式/.*的URL请求(这里指的是全部URL)都会由helloworld模块内的application类来处理。

  这种配置文件的语法是YAML,关于配置选项的完整清单说明,可以查阅the app.yaml reference

测试程序

  通过一个脚本处理程序和配置文件,把所有URL都映射到了这个处理程序,程序大功告成!现在你可以用App Engine SDK中的本地服务器来测试这个程序。

  如果你正在使用GAE launcher,你可以通过【File】菜单中的【Add Existing Application…】来建立应用,然后选择helloworld文件夹目录,选择app列表中你的应用,点击【Run】按钮来启动应用,然后点击【Browse】去查看,或者在浏览器中进入http://localhost:8080/

  如果你没有使用GAE Launcher,你可以通过以下命令来启动本地网络服务器,修改以下路径为你的helloworld文件夹路径:

1 google_appengine/dev_appserver.py helloworld/

  网络服务器已经运行了,实时监听来自端口8080的url请求,你可以通过在浏览器输入以下地址来测试你的程序:http://localhost:8080/

  若要了解更多关于运行网络开发服务器的信息,包括如何改变使用的端口,可以查看 the Dev Web Server reference,或者查看命令行help菜单。

重复开发

  你可以一边让服务器运行,一边开发你的应用。网络服务器会实时查看你应用中源代码的改变,并且必要时重新加载。

  你可以试试,让网络服务器运行,并且更改helloworld.py中的“Hello World!”信息,重载 http://localhost:8080/或者点击GAE launcher中的【Browse】按钮来查看变化。

  要关掉网络服务器,可以在终端窗口运行的时候,按下【control+C】或者点击GAE launcher中的【stop】。

  本教程中,你可以一直让web sever运行。如果你需要关掉它,你可以通过命令窗口重新启动它。

下一节…

       现在我们已经部署了一个完整的应用了!你可以马上上传这个简单的问候到GAE,并且分享你的应用。在上传这个应用之前,让我了解更多关于WebApp2 framwork,添加更多有趣的功能~

  接下来 webapp2 framwork的简介

 

本文为翻译以下网址内容,仅作个人兴趣使用。如有任何侵权行为,请告知本人,立刻删除。

https://developers.google.com/appengine/docs/python/gettingstartedpython27/helloworld

posted @ 2013-11-13 21:31  leolfw  阅读(630)  评论(0编辑  收藏  举报