首页 > 教程 > [跟康爷学GAE]GAE的Hello World程序(1)

[跟康爷学GAE]GAE的Hello World程序(1)

2009年2月21日 康爷 发表评论 阅读评论

跟康爷学GAE》是整个Google App Engine教程计划的一个总名称,如果你对这个系列的GAE教程感兴趣,可以订阅康爷的博客。整个教程的目录在:GAE教程计划的目录,教程会同步发送到gae.kangye.org上面。

注册完Google App Engine,为GAE做了一些准备工作(SDK,编译环境)之后,我们开始创建第一个GAE程序,当然从Hello World开始。

首先创建一个Hello目录,然后在Hello目录下创建以下几个文件,app.yaml,hello.py。

在Ulipad中打开app.yaml,将它的内容改为:

application: hello
version: 1
runtime: python
api_version: 1

handlers:
- url: .*
  script: hello.py

在Ulipad中打开hello.py,将它的内容改为:

print 'Hello, world!'

保持文件,然后打开命令行,输入dev_appserver.py –p=9000 e:\gae\Hello,然后在浏览器中输入localhost:9000/,就可以看到Hello World!了。恭喜!

下面我们来分析下上面两个文件的代码。

app.yaml是很重要的文件,它告诉App Engine一些关于你的应用的最基本的信息和编译环境:

application: hello 表示你的应用的app-id是hello,这个在上传的时候应该改为你注册的应用的id。

version: 1 表示你开发的应用现在是第一版,GAE可在各版本中切换(当然同一版本的开发将只记录最近的两次,一次是最新的,一次是rollback回去的)

handlers是很重要的配置信息,它告诉GAE访问路径的处理规则。这里url: .* 表示所有的路径,script: hello.py表示所有路径都是由hello.py来处理。

hello.py的内容很简单,就是输出Hello World!

dev_appserver.py –p=9000 e:\gae\Hello这行命令意思是打开web server,并将端口设成9000,同时,app的配置信息在e:\gae\hello下(这个路径应该是你自己存的路径)。

分类: 教程 标签:
  1. 2009年2月22日01:29 | #1

    最近也准备把GAE好好研究下…
    希望博主能够坚持更新此系列~

  2. 2009年2月22日02:16 | #2

    dev_appcfg.py --p=9000 e:\gae\Hello 我是打开dev_appserver.py 才能打开,是否正确?

  3. 康爷
    2009年2月22日11:10 | #3

    是dev_appserver.py –p=9000 e:\gae\Hello
    我写错了,不好意思

  4. ttplay
    2009年2月22日22:09 | #4

    晕,还有按Y
    INFO 2009-02-22 14:06:07,375 appcfg.py] Server: appengine.google.com
    Allow dev_appserver to check for updates on startup? (Y/n): y
    还有一大堆警告

  5. 康爷
    2009年2月22日22:24 | #5

    什么警告?

  6. 2009年2月28日19:16 | #6

    我照你说的做啦
    可是在浏览器输入localhost:9000/却出现页面无法显示啊!
    试了好几次啦!都不行啊!

  7. 2009年3月1日16:08 | #7

    支持,Go on~!

  8. weric0110
    2009年3月11日23:36 | #8

    如果正确设定+执行,应该会在命令列下出现以下的内容,不妨查一查你所写的内容是否与教程一致

    请注意 在vista下的话 请改为 http://127.0.0.1:9000 才能正常显示(不然就是要改VISTA中的设定,但是我不知道)

    C:\Hello>dev_appserver.py –p=9000 c:\Hello
    INFO 2009-03-11 15:14:57,411 appengine_rpc.py] Server: appengine.google.com
    Allow dev_appserver to check for updates on startup? (Y/n): n
    dev_appserver will not check for updates on startup. To change this setting, ed
    it C:\Documents and Settings\User/.appcfg_nag
    WARNING 2009-03-11 15:15:11,592 datastore_file_stub.py] Could not read datastor
    e data from c:\docume~1\user\locals~1\temp\dev_appserver.datastore
    WARNING 2009-03-11 15:15:11,621 datastore_file_stub.py] Could not read datastor
    e data from c:\docume~1\user\locals~1\temp\dev_appserver.datastore.history
    WARNING 2009-03-11 15:15:12,211 dev_appserver.py] Could not initialize images A
    PI; you are likely missing the Python “PIL” module. ImportError: No module named
    _imaging
    INFO 2009-03-11 15:15:12,423 dev_appserver_main.py] Running application hell
    o on port 9000: http://localhost:9000

  9. ant
    2009年4月27日11:11 | #9

    WARNING 2009-04-27 03:10:42,055 datastore_file_stub.py] Could not read datastor
    e data from c:\users\asus\appdata\local\temp\dev_appserver.datastore
    WARNING 2009-04-27 03:10:42,056 datastore_file_stub.py] Could not read datastor
    e data from c:\users\asus\appdata\local\temp\dev_appserver.datastore.history
    WARNING 2009-04-27 03:10:42,214 dev_appserver.py] Could not initialize images A
    PI; you are likely missing the Python “PIL” module. ImportError: No module named

  10. 2009年8月17日12:11 | #10

    怎么上面显示找不到文件啊,那个路径是对的呀……

  11. 2009年8月18日21:10 | #11

    python网上的教程不多,你的教程可谓是开河之举。但是里面错误很多,照着你的都做不出来,不信你自己试试按照你所说的一步一步做,绝对做不出来,要出就要出精品!

  12. 2009年8月18日21:12 | #12

    比如
    ————————————————-
    保持文件,然后打开命令行,输入dev_appserver.py –p=9000 e:\gae\Hello,然后在浏览器中输入localhost:9000/,就可以看到Hello World!了。恭喜!
    ————————————————–
    里面dev_appserver.py –p=9000 e:\gae\Hello 应该是dev_appserver.py –p=9000 e:\gae
    localhost:9000/ 应该是HTTP://localhost:9000/

  13. szh
    2009年10月10日13:57 | #13

    呵呵,很简单,一试就成功了,不过我没做gae的兴趣,我的程序都是从网上下的,支持一下

  1. 本文目前尚无任何 trackbacks 和 pingbacks.