对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运行环境

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中。

<Chapter 2>2-2-2.开发Python应用(Developing a Python App)的更多相关文章

  1. Python自动化运维开发实战 一、初识Python

    导语 都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊.批量执行某个操作啊.写写监控脚本什么的. ...

  2. 第一模块·开发基础-第1章 Python基础语法

    Python开发工具课前预习 01 Python全栈开发课程介绍1 02 Python全栈开发课程介绍2 03 Python全栈开发课程介绍3 04 编程语言介绍(一) 05 编程语言介绍(二)机器语 ...

  3. 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...

  4. Python Web框架本质——Python Web开发系列一

    前言:了解一件事情本质的那一瞬间总能让我获得巨大的愉悦感,希望这篇文章也能帮助到您. 目的:本文主要简单介绍Web开发中三大基本功能:Socket实现.路由系统.模板引擎渲染. 进入正题. 一. 基础 ...

  5. windows下使用pycharm开发基于ansible api的python程序

    Window下python安装ansible,基于ansible api开发python程序 在windows下使用pycharm开发基于ansible api的python程序时,发现ansible ...

  6. python开发第一篇:初识python

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  7. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

  8. 为什么我建议每个开发人员都需要学Python?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/10-reasons-why-every-d ...

  9. Python合集之Python开发环境在Windows系统里面搭建

    在上一个合集里面我们了解到了Python的基础信息及学习了Python对我们有什么用处,那么今天我们来了解一下,Python的开发环境该如何搭建.(注:Python的开发环境可以在Windows.MA ...

随机推荐

  1. ArcGIS 10.1 for Desktop新特性之地理标记照片

    转自:http://blog.csdn.net/esrichinacd/article/details/7730825 地理标记照片是指带有地理位置信息的照片,通常通过内置GPS的数码相机或智能手机拍 ...

  2. C# 时间函数

    DateTime dt = DateTime.Now; string str = dt.ToString("yyyy-MM-dd");//2013-09-07 str = dt.T ...

  3. [Linux 命令]df -h

    查看目前磁盘空间和使用情况 以更易读的方式显示

  4. 浅谈PHP自动化代码审计技术

    原文出处: exploit   欢迎分享原创到伯乐头条 0×00 由于博客实在没什么可以更新的了,我就把目前做的事情总结一下,当做一篇博客,主要是谈一谈项目中所运用的一些技术.目前市面上有不少PHP的 ...

  5. powerdesigner连接数据库 导出数据 生成PDM文件 傻瓜试教程

    也可下载文档:http://download.csdn.net/detail/shutingwang/6378665 

  6. 传感器(2)常用api简介及列出当前设备支持的传感器代码

    Android SDK提供了Android sensor framework,可以用来访问当前Android设备内置的传感器. ASF提供了很多类和接口,可以帮助我们完成各种与传感器有关的任务. 例如 ...

  7. Java开发工具MyEclipse的设置自动联想功能

    最近初学Java,正在使用MyEclipse来编写新的项目,刚开始打开MyEclipse感觉这个工具既陌生又熟悉,熟悉之处在于编辑器的几大共通之处它都具备,比如说基本的设置.编辑区.调试区都是类似的, ...

  8. toad for sqlserver5.7

    toad for sqlserver5.7 虽然SSMS很好很强大,不过有时候使用一些第三方工具可以使MSSQL DBA们更加的方便管理MSSQL toad for sqlserver5.7就是这样一 ...

  9. heatmap.2

    heatmap.2 {gplots} R Documentation Enhanced Heat Map Description A heat map is a false color image ( ...

  10. Codeforces Round #247 (Div. 2) C. k-Tree (dp)

    题目链接 自己的dp, 不是很好,这道dp题是 完全自己做出来的,完全没看题解,还是有点进步,虽然这个dp题比较简单. 题意:一个k叉树, 每一个对应权值1-k, 问最后相加权值为n, 且最大值至少为 ...