<Chapter 2>2-2-2.开发Python应用(Developing a Python App)
2015-09-12 11:55
459 查看
对App Engine来讲最简单的Python应用是一个有两个文件的简单目录:一个称为app.yaml的配置文件,一个用于请求处理器的Python代码文件。包含app.yaml文件的这个目录就是这个应用的根目录。在使用工具时,你会经常用到这个目录。
※如果你使用Launcher,你可以通过选择File菜单New Application,来创建一个新项目。Launcher创建一个有一些文件的新项目,你可能会希望在这个例子中会编辑这些文件。可选择的是,你也可以手动创建这个项目目录和文件,然后通过单击File菜单,Add Existing Application,把这个项目追加到Launcher上。
创建一个叫做clock的目录来包含这个项目。使用你喜欢的文本编辑器,在这个目录中创建一个叫做app.yaml的文件,类似于例2-1。
例2-1:一个简单应用的配置文件,使用Python2.7运行环境
这个配置文件使用了一个叫做YAML的格式,一个用于配置文件和网络信息(network message)的开放格式。你没有必要知道超过在这儿看到的更多关于格式的内容。
在这个例子中,这个配置文件告诉App Engine一个叫做clock的应用的版本1,它使用了Python2.7运行时环境的版本1(api_version)。对于这个应用的每个请求(每个匹配正则表达式.*的URL,表示所有的URL)将会被定义在一个叫做main的Python模块的application变量中的应用对象(application object)处理。
※在Python2.5运行时环境中,URLs被映射到源文件的名字,作为CGI脚本执行。尽管在Python2.7中这还是被支持的,但是并发的请求(多线程)要求这个新方法,它会参照(refer to the WSGI instance global variable in the app.yaml configuration)在app.yaml配置中的WSGI实例全局变量。
在app.yaml相同的目录下,创建一个叫做main.py的文件,类似例2-2。
例2-2.一个简单的Python网络应用,使用webapp2框架
这个简单的Python网络应用使用了App Engine自带的一个叫做webapp2的网络应用框架。这个框架符合Python的网络应用框架的通用标准,也就是Web Server Gateway Interface(WSGI)。你不需要知道很多WGSI,除了它是一个Python标准,有许多有用的框架可供选择,使用各种适配器(比如WSGI-to-CGI适配器)很容易将WSGI应用port到其他的应用管理环境(application hosting environment)。webapp2是WSGI框架的一个简单例子。Django是另一个例子,它是一个有名的开源Python网络应用框架,也包含在App Engine中。
※如果你使用Launcher,你可以通过选择File菜单New Application,来创建一个新项目。Launcher创建一个有一些文件的新项目,你可能会希望在这个例子中会编辑这些文件。可选择的是,你也可以手动创建这个项目目录和文件,然后通过单击File菜单,Add Existing Application,把这个项目追加到Launcher上。
创建一个叫做clock的目录来包含这个项目。使用你喜欢的文本编辑器,在这个目录中创建一个叫做app.yaml的文件,类似于例2-1。
例2-1:一个简单应用的配置文件,使用Python2.7运行环境
application:clock version:1 runtime:python27 api_version:1 threadsafe:true handlers: -url:.* script:main.application libraries: -name:webapp2 version:"2.5.1"
这个配置文件使用了一个叫做YAML的格式,一个用于配置文件和网络信息(network message)的开放格式。你没有必要知道超过在这儿看到的更多关于格式的内容。
在这个例子中,这个配置文件告诉App Engine一个叫做clock的应用的版本1,它使用了Python2.7运行时环境的版本1(api_version)。对于这个应用的每个请求(每个匹配正则表达式.*的URL,表示所有的URL)将会被定义在一个叫做main的Python模块的application变量中的应用对象(application object)处理。
※在Python2.5运行时环境中,URLs被映射到源文件的名字,作为CGI脚本执行。尽管在Python2.7中这还是被支持的,但是并发的请求(多线程)要求这个新方法,它会参照(refer to the WSGI instance global variable in the app.yaml configuration)在app.yaml配置中的WSGI实例全局变量。
在app.yaml相同的目录下,创建一个叫做main.py的文件,类似例2-2。
例2-2.一个简单的Python网络应用,使用webapp2框架
import datatime import webapp2 class MainPage(webapp2.RequestHandler): def get(self) message = '<p>The time is:%s</p>' % datetime.datetime.now() self.response.out.write(message) application = webapp2.WSGIApplication([('/',MainPage)],debug = True)
这个简单的Python网络应用使用了App Engine自带的一个叫做webapp2的网络应用框架。这个框架符合Python的网络应用框架的通用标准,也就是Web Server Gateway Interface(WSGI)。你不需要知道很多WGSI,除了它是一个Python标准,有许多有用的框架可供选择,使用各种适配器(比如WSGI-to-CGI适配器)很容易将WSGI应用port到其他的应用管理环境(application hosting environment)。webapp2是WSGI框架的一个简单例子。Django是另一个例子,它是一个有名的开源Python网络应用框架,也包含在App Engine中。
相关文章推荐
- iOS基础知识:Objective-C 之 谓词
- Android KK台,联系人列表#集团放置A~Z之前
- Android中的菜单-ContextMenu,PopupMenu
- iOS 一个应用程序从创建到销毁的过程
- cocos2d-x -------------------------------世界坐标本地坐标之间的转换
- android---Notification通知解析
- OC-数组的运用
- [转载]android中The connection to adb is down,问题和解决
- Android 实现沉浸式状态栏的方法
- iOS中键值监听KVO的学习
- Android:Resources资源文件
- iOS 8 新特性autoLayout
- 微信公众账号 Senparc.Weixin.MP SDK 开发教程
- Android:布局实例之常见用户设置界面
- Android:res之selector背景选择器
- Android学习路线01
- ios ftp开发中的一个NSString问题
- ios 动态计算文本的高度或宽度
- Android:Tab切换方法整理
- IOS 按钮(button)用法与属性实例