[跟康爷学GAE]GAE的Hello World程序(2)
![]()
《跟康爷学GAE》是整个Google App Engine教程计划的一个总名称,如果你对这个系列的GAE教程感兴趣,可以订阅康爷的博客。整个教程的目录在:GAE教程计划的目录,教程会同步发送到gae.kangye.org上面。
在(1)里面,我们讲了如何配置一个appengine应用,并在主页上输出Hello World!,这次,我们要使用webapp Framework来实现这个输出,虽然有点大材小用,但是简单的东西比较能让大家自己的实验有余地。
将hello.py的改为下面的内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
|
然后在命令行中输入dev_appserver –p=9000 e:\gae\hello,查看localhost:9000/,就可以看到Hello, webapp World!了。
下面来解释下这个新的hello.py里的代码:
最下面两行定义了程序的入口,就是执行application这个网络应用。那么application的具体内容呢,就是
webapp.WSGIApplication( [('/', MainPage)], debug=True)
这句代码里面,[('/', MainPage)]表示’/'这个路径由MainPage这个类来处理,debug=True表示启动调试。
下面再来看看MainPage这个类,它继承于webapp.RequestHandler,然后定义了一个get函数,这个函数用来处理对于’/'路径的GET方法的request。get函数里的两行,第一行表示输出的’Content-Type’是’text/plain’,当然也可以改成’text/xml’或者其他的Content-Type。第二行表示输出的内容是Hello, webapp World!,可以换成其他的输出,这个你可以自己去玩玩。
最上方是import,如果你以后要使用webapp的话,这两个是必须要引入的。
当然,由于路径以后会有很多,我比较支持将它提取出来:
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')
ROUTE = [('/', MainPage),
('/hello', MainPage)]
application = webapp.WSGIApplication(ROUTE,debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
这段代码保存后,通过localhost:9000/hello,也可以看到Hello, webapp World!这句话了,你可以自己调试调试,Python的好处就是不用编译,保存完文件就可以在浏览器中看到修改后的效果了。
最近评论