对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. [原创]使用命令行工具提升cocos2d-x开发效率(一)之TexturePacker篇

    TexturePacker是一个常用的制作sprite sheet的工具,它提供了很多实用的功能. 一般我们制作sprite sheet都是使用他的gui版本,纯手工操作,就像下面这张图示的一样. 刚 ...

  2. 如何写出优秀的研究论文 Chapter 1. How to Write an A+ Research Paper

    This Chapter outlines the logical steps to writing a good research paper. To achieve supreme excelle ...

  3. 【原创】Kmeans算法 优缺点分析

    优点: 原理简单(靠近中心点),实现容易(1.2 天),聚类效果中上(依赖K的选择) 缺点: 1. 无法确定K的个数 (根据什么指标确定K) 2. 对离群点敏感 (容易导致中心点偏移) 3. 算法复杂 ...

  4. Java根据html模板创建 html文件

    1.创建html的java代码 package com.tydic.eshop.util; import java.io.FileInputStream; import java.io.FileOut ...

  5. 自定义View(1)简单流程及示例模板

    1,继承View , ViewGroup,或TextView等等 2,绘制相关的api, canvas 画布, paint 画笔 2,重写重要的函数(注意这个顺序) onMeasure 属于View的 ...

  6. WIN7 64位系统搭建WINCE6.0系统遇到的问题

    WIN7 64位系统搭建WINCE6.0系统遇到的问题 安装顺序如下: .先装Visual Studio2005: .安装Visual Studio2005 Service Pack 1: .安装Vi ...

  7. Android XML使用的学习记录

    1. 注释其中一段代码或是一行,可以采用<!-- -->,示例如下 <!--       <EditText         android:layout_width=&quo ...

  8. C++ STL之查找算法

    C++STL有好几种查找算法,但是他们的用法上有很多共同的地方: 1.除了binary_search的返回值是bool之外(查找的了返回true,否则返回false),其他所有的查找算法返回值都是一个 ...

  9. centos6.5安装mongodb

    搜索正面五个文件,由于MongoDB的redhat国外镜像访问非常慢,下载安装suse版本并安装: mongodb-org-2.6.6-1.i686.rpm mongodb-org-mongos-2. ...

  10. Android Monkey测试

    Monkey测试1——Monkey的使用 原文地址: http://www.douban.com/note/257029872/ (转自豆瓣,版权属于豆瓣及豆瓣网友,如有冒犯请见谅并联系我们) Mon ...