Skip to main content
 首页 » 理论动态 » 教育技术资讯

GAE中文教程

2010年03月28日29080百度已收录

原作者:徐明

原文链接地址:http://xuming.net/gae-tutorial

一、介绍什么是Google App Engine

GAE:Google App Engine 使用GAE,你不用再买主机,不用再维护主机,可以直接把网站程序(现在支持Python与Jave)上传到Google的空间。欢迎使用 Google App Engine! 创建一个Google App Engine应用非常简便,只需要花费你几分钟时间.  你可以很方便的创建你的网站应用:直接上传并分享,不需要进行任何的修改和注释。

在这个指导里,我们将创建一个简单的留言本,让用户可 以发表留言。并且支持匿名和Google帐号两种方式发表留言。

这个留言本程序将演示如何使用Google的数据存储,集成Google账户系统,如何使用一个简单的Python Web framework来调试GAE网站。并且还将演示如何使用Django的模版引擎。

二、开发环境

(本文译自:Google App Engine Getting Started)

Google 提供了一个Google App Engine 软件开发包(SDK),用于让开发者进行网站应用程序开发或上传已经完成的应用。

这个 开发包包含:

  • 一个web服务程序,用来模拟App Engine应用环境
  • 一个本地版的数 据存储方案
  • 本地模拟的Google帐号集成
  • 支持使用Api来分析URL和发送邮件
  • 这个开发包可以运行在所有安装了Python2.5的机器上,并且支持Windows, Mac OS X 和Linux系统。

因为这个开发包是以Python2.5为基础的,所以你必须先要在你的机器上安装Python2.5(必须是2.5版 本).Mac OS X 10.5 用户可能已经安装了Python2.5,某些版本的Linux自带Python环境,但是版本可能比较低,需要升级成2.5版本。

接下 来:下载并安装App Engine SDK

在这个入门教程中,我们需要用到下面的两个命令:

Windows或Mac OS X的安装程序会将这两个命令放到命令行运行路径中。在安装结束后,你可以直接通过命令行执行。

如果你使用的是Zip压缩包格式的 SDK,你可以google_appengine目录下找到它们。

三、Hello world

Google App Engine 应用通过 CGI 标准协议与服务器通讯.这是一个标准的Http处理流程,Web服务接受到客户端发来的Get或Post请求,web服务器把请求转发给你的应用程序,由 应用程序来处理要输出的内容。

为了更好的理解这个过程,下面就开始开发我们经典的Hellow World应用程序吧。在这一章,仅仅只是实现显示一些简单的信息的功能。

创建一个简单的 Request Handler

首先创建一个名为 helloworld 的文件夹。 除非特殊说明,以后所有关于这个应用程序的文件都将放在这个文件夹里面。

helloworld 文件夹里, 创建一个新文件 helloworld.py,文件内容如下:

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

这个Python 脚本处理一个request请求,并且设置一个Http header,输出一个空行和一段信息 Hello, world!.

创建配置文件

每个App Engine application 都包含一个名为 app.yaml的配置文件。 在这个配置文件中,可以设置具体的某个URL需要用哪个Python脚本来处理.

现在,在 helloworld 文件夹中,创建一个新的 app.yaml 文件,输入以下内容:

application: helloworldversion: 1runtime: pythonapi_version: 1handlers:- url: /.*script: helloworld.py

这个配置文件描述了以下内容::

  • 这个应用程序的标识是 helloworld. 这个标识需要和你在App Engine网站上创建的应用程序标识保持一致。在开发期间你可以使用任何你喜欢的名字,但是上传的时候,必须要和你在App Engine 注册的标识保持一致。现在,我们把它设置为 helloworld.
  • 你的应用程序的版本号为1 ,如果你在上传应用之前修改了这个编号, App Engine 将会自动保留前一个版本的副本,以方便你可以在管理平台中将当前版本恢复成原来的版本。
  • 该应用运行在 python 环境, 环境版本是 1. 目前只有Python可选,将来会提供更多的运行环境和开发语言.
  • 所有符合正则表达式/.* (所有URL) 的请求,都由 helloworld.py 脚本来处理.

该配置文件使用 YAML语 法. 关于该配置文件的更多选项, 请参考 the app.yaml reference.

测试应用程序

现在这个应用程序已经基本上完整了。 你可以在本地App Engine SDK环境中进行模拟运行测试。

首先,指定应用路径为 helloworld 目录,使用下面的命令启动测试环境Web服务程序,:

google_appengine/dev_appserver.py helloworld/

这个Web服务程序将监听8080端口. 你可以在浏览器中输入以下地址进行测试:

关于这个web服务程序的更多选项(如怎样修改默认端口等), 请查看the Dev Web Server reference, 或者使用命令行选项 --help.

无需中断你的开发

在开发过程中,你不需要不停的重启Web服务程序。Web服务程序可以自行判断哪些脚本文件已经被修改过了,并且重新加载这些脚本。

试一试: 不要关闭web服务程序, 编辑 helloworld.pyHello, world! 修改成其他内容. 重新访问http://localhost:8080/ ,看看是不是您的修改已经生效了!

要关闭Web服务程序,您只需在控制台中按下 Control-C (或其他有效的 "break" 功能键).

 

  1. 使用 webapp framework
    学习使用Web框架来编写Web应用

  2. 用户系统服 务
    学习如何判断Google用户登录,获取Goolge登录后的用户信息

  3. 处理表单数 据
    处理Form表单,学习Post和Get用法

  4. 数据存储
    学习Google 数据模型以及查询语法GQL

  5. 使用模版文 件
    学习使用模板文件来显示网页,让数据和页面分离,加快网站开发速度

  6. 使用静态文 件
    学习如何处理CSS,JS,图片等静态文件

  7. 上传应用程 序
    发布你已经完成的Web应用到Google服务器上

评论列表暂无评论
发表评论
新浪微博
微信
联系电话:
13955453231