博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.GAE Hello World
阅读量:5170 次
发布时间:2019-06-13

本文共 2145 字,大约阅读时间需要 7 分钟。

GAE Hello World

  让我们实现一个简单的应用作为开场白吧,这个应用会显示简短欢迎词“Hello World!”

创建一个简单的请求处理程序

  新建一个文件夹,名为helloworld,将存放我们这个应用的全部文件。在helloworld文件夹内新建一个文件,名为helloworld.py,并用文本编辑器打开,写入以下内容:

1 import webapp2 2  3 class MainPage(webapp2.RequestHandler): 4  5     def get(self): 6         self.response.headers['Content-Type'] = 'text/plain' 7         self.response.write('Hello, World!') 8  9 application = webapp2.WSGIApplication([10     ('/', MainPage),11 ], debug=True)

  这个Python脚本会响应一个HTTP header请求,给予返回内容和信息“Hello World!”

创建一个配置文件

  每个GAE的应用都有一个配置文件,名为app.yaml,在其他方面,这个文件描述的是哪些URL应该用哪个处理程序脚本来处理。

  在文件夹helloworld目录内,新建文件,名为:app.yaml,用文本编辑器打开,写入一下内容:

1 application: your-app-id2 version: 13 runtime: python274 api_version: 15 threadsafe: true6 handlers:7 - url: /.*8   script: helloworld.application

  以上配置语句定义了应用的以下几个方面:

  ○这里的application identifier 就是我们的app ID。GAE上的每个应用都有一个独一无二的标识。当我们注册GAE的时候,我们可以为应用选择不同的名字。当然如果你只是在本地开发应用,你就随便取个app ID吧。

  ○以上是version 1 的代码。如果你改变版本号为2或者3,App Engine将会为你保留之前版本的代码,通过管理员控制台你可以回复之前版本的代码。

  ○代码运行于Python2.7、API 版本1环境中,其他的运行环境和编程语言将会越来越完善的。

  ○应用是线程保护的,所以能处理多个同时的请求。线程安全是一种先进的特性,如果您的应用程序不是专门设计来是线程安全的,可能会导致不稳定的行为。

  ○每个匹配正则表达式/.*的URL请求(这里指的是全部URL)都会由helloworld模块内的application类来处理。

  这种配置文件的语法是,关于配置选项的完整清单说明,可以查阅。

测试程序

  通过一个脚本处理程序和配置文件,把所有URL都映射到了这个处理程序,程序大功告成!现在你可以用App Engine SDK中的本地服务器来测试这个程序。

  如果你正在使用GAE launcher,你可以通过【File】菜单中的【Add Existing Application…】来建立应用,然后选择helloworld文件夹目录,选择app列表中你的应用,点击【Run】按钮来启动应用,然后点击【Browse】去查看,或者在浏览器中进入。

  如果你没有使用GAE Launcher,你可以通过以下命令来启动本地网络服务器,修改以下路径为你的helloworld文件夹路径:

1 google_appengine/dev_appserver.py helloworld/

  网络服务器已经运行了,实时监听来自端口8080的url请求,你可以通过在浏览器输入以下地址来测试你的程序:

  若要了解更多关于运行网络开发服务器的信息,包括如何改变使用的端口,可以查看 ,或者查看命令行help菜单。

重复开发

  你可以一边让服务器运行,一边开发你的应用。网络服务器会实时查看你应用中源代码的改变,并且必要时重新加载。

  你可以试试,让网络服务器运行,并且更改helloworld.py中的“Hello World!”信息,重载 或者点击GAE launcher中的【Browse】按钮来查看变化。

  要关掉网络服务器,可以在终端窗口运行的时候,按下【control+C】或者点击GAE launcher中的【stop】。

  本教程中,你可以一直让web sever运行。如果你需要关掉它,你可以通过命令窗口重新启动它。

下一节…

       现在我们已经部署了一个完整的应用了!你可以马上上传这个简单的问候到GAE,并且分享你的应用。在上传这个应用之前,让我了解更多关于WebApp2 framwork,添加更多有趣的功能~

  接下来

 

本文为翻译以下网址内容,仅作个人兴趣使用。如有任何侵权行为,请告知本人,立刻删除。

转载于:https://www.cnblogs.com/lfwllq/p/3422232.html

你可能感兴趣的文章
jquery
查看>>
【BZOJ】1085 [SCOI2005]骑士精神(IDA*)
查看>>
css3部分知识点
查看>>
2.列表,元组
查看>>
C#效率优化(2)-- 方法内联
查看>>
几处费解的知识点
查看>>
servlet的请求转发与重定向
查看>>
1121 - Reverse the lights 思维题
查看>>
阈值分割-Otsu法
查看>>
2018软工实践K班总结
查看>>
python之路_mysql数据操作1
查看>>
python之路_保留原搜索页面条件
查看>>
韩顺平的java入门到精通中serversql笔记(包括emp表和dept表,linux的mysql版)
查看>>
Hive里的分区、分桶、视图和索引再谈
查看>>
安装mongodb以及设置为windows服务 详细步骤
查看>>
【架构解密】第六章 深入解析分布式存储
查看>>
【Python 12】汇率兑换5.0(Lambda函数)
查看>>
Spring AOP详解
查看>>
EF数据库迁移
查看>>
BZOJ-3227 红黑树(tree) 树形DP
查看>>