中文版Google App Engine入门指南(1)

本指南将介绍如何开发以及展示一个简单的Google App Engine项目。这个示例项目-一个用户留言簿-将会向你展示如何使用Google App Engine的多项服务,包括数据库服务和谷歌帐户服务。

Google App Engine入门指南包括以下几个部分:

介绍编程环境 Hello, World! 使用webapp框架 使用Google帐户服务 用webapp处理表单 使用数据库存储 使用模板 使用静态文件 上传你的程序

介绍

欢迎来到Google App Engine!创建一个App Engine应用程序很简单的,只需要几分钟的时间。而且是免费的,只要你上传你的程序,你的网站就可以和用户见面了,不需要任何付款和投入。

在Google App Engine入门指南中,你将会创建一个用户留言簿,它可以让用户在公共的留言板上发表留言。用户可以匿名留言,也可以使用他们的Google帐户留言。

这个留言簿程序将会向你展示如何使用App Engine的数据库存储,如何将一个App Engine和谷歌帐户进行整合,以及如何使用一个简单的Python网站框架(在App Engine中叫做webap)。这个小程序还将会展示如何使用Django模板引擎。

编程环境

你要通过App Engine的software development kit (SDK)来开发,上传你的Google App Engine程序。

这个SDK里包括了一个网站服务器(web server)程序,用来模拟App Engine的环境,包括一个本地版的数据库,Google帐户,以及获取远程地址(URLs)和从你的本地计算机发送邮件这一些列App Engine的API。本SDK需要运行在Python 2.5上,Python 2.5的各个版本支持Windows,Mac OS X和Linux。

如果需要,可以从Python的官方网站下载适合你的操作系统的Python 2.5并安装在你的电脑上。Mac OS X 10.5 Leopard用户的电脑上默认已经安装好了Python 2.5。

下载App Engine SDK,然后按照下载页面上的指示将SDK安装在你的计算机上。

在本入门指南中,你将会用到SDK中的两个命令:

dev_appserver.py, 开发版网站服务器 appcfg.py, 用来上传你的程序到 App Engine网站

对于Windows用户:App Engine SDK的Windows安装程序会将这些命令添加到命令path里,在安装之后,你可以直接在命令行中使用这些命令。

对于Mac用户:Google App Engine Launcher会将这些命令包含在程序当中,你可以将这些命令添加到命令path通过选择"GoogleAppEngineLauncher"菜单里的“Mak Symlinks...”。或者,你可以直接用Launcher来运行开发服务器以及展示你的网页程序。

如果你使用的是Zip存档版的SDK,,你将在google_appengine目录中找到相应的python程序。

Hello, World!

Google App Engine使用CGI标准来和网站服务器进行交互。当服务器接收到来自你的应用程序的一个请求时,它会运行程序,根据环境变量里的请求变量以及标准的输入流(对于POST的数据)。对于响应,CGI会使用标准的输出流来输出,包括HTTP header和内容。

让我们首先做一个小程序以显示一则很短的信息。

创建一个简单的Request Handler

创建一个文件夹名字叫 helloworld.。所有的这个程序的文件都放在这个目录下面。

在helloworld 文件夹里,创建一个名字叫helloworld.py,的文件,然后在里面输入:

print 'Content-Type: text/plain'

print ''

print 'Hello, world!'

这段Python脚本代码将会对每一个WEB请求响应一段HTTP header(用来描述内容),一个空行,以及一则信息Hello, world!。

创建配置文件

每个App Engine程序都有一个配置文件叫做app.yaml。这个文件用来告诉服务器哪一段URLs用哪一个handler代码来处理。

在helloworld 文件夹里,创建一个名叫app.yaml的文件,内容如下:

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

从上到下,这个配置文件讲了如下几个关于应用程序的内容:

这个应用程序的ID是helloworld。当你在最后一步中上传你的程序时,你得选择一个唯一的ID,然后代替掉这个helloworld。在调试开发阶段,这个ID可以是任何值。现在,我们把它设成helloworld。 这个程序代码的版本号是1,如果你上传了新的版本的程序,App Engine会保留以前的版本,通过管理控制台,你可以将你的App Engine程序恢复到以前的版本。 这段代码是在python 运行时环境下运行的,版本号是1.其他的runtime环境和语言可能会在将来得到支持。 每个符合正则表达式/.* (即所有URLs)都将用helloworld.py 这段代码进行处理。

The syntax of this file is YAML. For a complete list of configuration options, see the app.yaml reference.

这个文件的语法是 YAML.。关于完整的配置选项,参见 the app.yaml reference。

调试程序

有了处理脚本代码和用来映射URL的配置文件之后,这个程序就完整了。你现在可以使用App Engine SDK内置的服务器测试你的程序了。

用下面的命令来启动web服务器,将helloworld的文件夹地址添加到命令后面:

google_appengine/dev_appserver.py helloworld/

这个web服务器现在就开始运行了,监听端口为8080.使用下面的地址就可以在浏览器中调试你的程序了:

http://localhost:8080/

想要获取更多关于运行开发web服务器的信息,比如如何改变监听端口,参见the Dev Web Server reference,或者在命令后面添加--help。

继续开发

你可以在服务器运行的时候继续开发你的程序,web服务器会查看你的源文件的改变,并在需要的时候重新加载。

试试看:让web服务器保持运行,然后编辑helloworld.py 里的文件内容,将 Hello, world! 改成其他的内容,然后重新访问http://localhost:8080/ ,你会看到页面发生了改变~

想要关闭web服务器,只要在terminal窗口激活的情况下,按Control-C(或者对于你的控制台来说正确的打断命令)。

你可以在本使用指南的下面的部分中一直保持web服务器运行,如果你需要关闭它,下次你仍可以使用上面的代码来将web服务器重新开启。

时间: 2024-08-03 03:42:51

中文版Google App Engine入门指南(1)的相关文章

中文版Google App Engine入门指南(2)

使用webapp框架 CGI标准是很简单的,但是要把所有的代码一一写出来还是很繁重的.WEB app框架帮你解决了这些具体问题,这样你就可以将你的精力集中在你的程序的功能上了.Google App Engine支持所有用Python写的关于CGI的网站框架(包括使用CGI adaptor的 WSGI-compliant框架),包括 Django,CherryPy, Pylons, 以及 web.py..你只需要吧这个框架的代码复制到你的程序目录下就可以使用这个框架了. App Engine包括了

中文版Google App Engine入门指南(3)

使用模板 HTML里面嵌入在编程代码里是非常杂乱的,所以我们最好使用一个独立的文件来专门处理HTML代码,以便于将界面显示和数据获取的过程相互独立出来.有很多使用Python实现的模板系统,比如: EZT, Cheetah,ClearSilver, Quixote,  Django 等等.你可以选择这里面的任意一个. 为了大家方便,  webapp 模块默认包含了Django的模板系统.Django模板是Google App Engine的一部分,所以你不需要单独进行绑定就可以直接使用. 使用

Google App Engine 入门:开发环境

Google 提供了一个Google App Engine 软件开发包(SDK),用于让开发者进行网站应用程序开发或上传已经完成的应用. 这个开发包包含: 一个web服务程序,用来模拟App Engine应用环境 一个本地版的数据存储方案 本地模拟的Google帐号集成 支持使用Api来分析URL和发送邮件 这个开发包可以运行在所有安装了Python2.5的机器上,并且支持Windows, Mac OS X 和Linux系统. 因为这个开发包是以Python2.5为基础的,所以你必须先要在你的机

菜鸟玩GAE(Google App Engine)完全指南,互联网营销

GAE是什么? 从实用的角度说是GAE可以提供我们稳定的免费网站空间,空间支持语言是python.java,数据库是google专有的数据库,数据库和空间可以免费使用1G,超过了1G就要买了,还提供Google的带宽,这个带宽约可以支撑一月500万次访问请求,超过500万次就要买了--对于一般网站这免费的资源就足够了,另外GAE还支持域名绑定,就相当于个人买的虚拟空间一样. 即使你目前对GAE不了解,也不会python或java,也能轻易使用GAE空间,利用别人编好的基于GAE的程序建立起自己的

Google App Engine - 5G支持Python免费虚拟主机

Google App Engine是Google推出的免费虚拟主机空间,其实这比一般虚拟主机强悍的多,你可以利用Google App Engine工具来开发网站或制作网络应用程序,Google会在自己的庞大服务器集群上为你提供空间.带宽.资源等.目前Google App Engine为每个用户提供10个Application(简称App),每个App有500M免费空间,每个App限制1000个文件,单个文件1M以内,每天流量20G.每个App提供免费二级域名1个,同时也可绑米.目前还仅支持Pyt

Google App Engine提供5GB免费空间支持虚拟主机

Google App Engine是Google推出的免费虚拟主机空间,其实这比一般虚拟主机强悍的多,你可以利用Google App Engine工具来开发网站或制作网络应用程序,Google会在自己的庞大服务器集群上为你提供空间.带宽.资源等.目前Google App Engine为每个用户提供10个Application(简称App),每个App有500M免费空间,每个App限制1000个文件,单个文件1M以内,每天流量20G.每个App提供免费二级域名1个,同时也可绑米.目前还仅支持Pyt

体验Google云计算之Google App Engine

基于 Google 的基础架构运行您的网络应用程序.Google App Engine 使您可以在支持 Google 应用程序的同一可扩展系统上构建网络应用程序. 无需汇编.Google App Engine 提供完全集成的应用程序环境. 它易于扩展.Google App Engine 使构建可扩展的应用程序(从一个用户增加至数百万个用户)变得轻松,且无需为基础架构烦恼. 它易于入门.每个 Google App Engine 应用程序都可使用多达 500MB 的持久存储空间以及可支持每月 500

用Groovy编写Google App Engine应用

Google的Google App Engine 云计算平台现在已 经支持了除了Python以外的其他的语言:即Java和Groovy! 现在,你可以通过Groovy高效的编写你的Google App Engine 应用了. 几星期以前,SpringSource Groovy团队和Google App Engine Java 团队紧密携手,仔细的处理了大 量的细节问题,以确保这门获奖的颇为流行的基于JVM的动态语言--Groovy可以很好的运行在这个精彩的 平台上.他们针对那些限制严格以及有很强

Amazon EC2和Google App Engine,谁是最后的赢家

Amazon EC2和Google App Engine,两大服务平台,谁能更胜一筹,我打算从三个角度来对比这两大云计算平台:技术,业务和未来发展趋势,本文是技术方面的对比,ok,准备好咖啡,我们开始吧! 如果按平台类型来分,大家可能已经知道Amazon EC2属于IaaS(基础设施即服务),Google App Engine属于PaaS(平台即服务).不过,如果Amazon EC2给你一个安装了操作系统的平台,你就可以自己安装应用程序,并且使用AMI(Amazon Machine Image)