中文版Google App Engine入门指南
如何制作app小程序
本指南将介绍如何开发以及展示一个简单的Google App Engine项目。这个示例项目-一个用户留言簿-将会向你展示如何使用Google App Engine的多项服务,包括数据库服务和谷歌帐户服务。
Google App Engine入门指南包括以下几个部分:
∙介绍
∙编程环境
∙Hello, World!
∙使用webapp框架
∙使用Google帐户服务
∙用webapp处理表单
∙使用数据库存储
∙使用模板
∙使用静态文件
∙上传你的程序
介绍|中文版Google App Engine入门指南
欢迎来到Google App Engine!创建一个App Engine应用程序很简单的,只需要几分钟的时间。而且是免费的,只要你上传你的程序,你的网站就可以和用户见面了,不需要任何付款和投入。
在Google App Engine入门指南中,你将会创建一个用户留言簿,它可以让用户在公共的留言板上发表留言。用户可以匿名留言,也可以使用他们的Google帐户留言。
这个留言簿程序将会向你展示如何使用App Engine的数据库存储,如何将一个App Engine和谷歌帐户进行整合,以及如何使用一个简单的Python网站框架(在App Engine
中叫做webap)。这个小程序还将会展示如何使用Django模板引擎。
编程环境|中文版Google App Engine入门指南
你要通过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"菜单里的“”。或者,你可以直接用Launcher来运行开发服务器以及展示你的网页程序。
如果你使用的是Zip存档版的SDK,,你将在google_appengine目录中到相应的
python程序。
Hello, World!|中文版Google App Engine入门指南
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: helloworld
version: 1
runtime: python
api_version: 1
handlers:
- 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.使用下面的地址就可以在浏览器中调试你的程序了:
∙localhost:8080/
想要获取更多关于运行开发web服务器的信息,比如如何改变监听端口,参见the Dev Web Server reference,或者在命令后面添加--help。
继续开发
你可以在服务器运行的时候继续开发你的程序,web服务器会查看你的源文件的改变,
并在需要的时候重新加载。
试试看:让web服务器保持运行,然后编辑helloworld.py里的文件内容,将Hello,
world!改成其他的内容,然后重新访问localhost:8080/,你会看到页面发生了
改变~
想要关闭web服务器,只要在terminal窗口激活的情况下,按Control-C(或者对于你
的控制台来说正确的打断命令)。
你可以在本使用指南的下面的部分中一直保持web服务器运行,如果你需要关闭它,下
次你仍可以使用上面的代码来将web服务器重新开启。
使用webapp框架|中文版Google App Engine入门指南CGI标准是很简单的,但是要把所有的代码一一写出来还是很繁重的。WEB app框架
帮你解决了这些具体问题,这样你就可以将你的精力集中在你的程序的功能上了。
Google App Engine支持所有用Python写的关于CGI的网站框架(包括使用CGI
adaptor的WSGI-compliant框架),包括Django,CherryPy, Pylons, 以及web.py.。
你只需要吧这个框架的代码复制到你的程序目录下就可以使用这个框架了。
App Engine包括了一个很简单的web应用框架,叫做webapp。这个webapp框架已
经在App Engine开发环境和SDK中安装好了,所以你不需要添加任何代码到你的程序
中去,就可以使用这个框架了。在下面的教程中我们将使用webapp框架。
Hello, webapp!
一个webapp程序包含三个部分:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论