python编写应用程序步骤_开发一个Python应用程序(1)

开发一个Python应用程序(1)

为App Engine开发的最简单的Python应用程序只有一个目录,其中有两个文件:一个叫做app.yaml的配置文件,以及一个实现了请求处理器的Python代码文件。含有app.yaml文件的目录是应用程序的根目录。在使用工具的时候,你将会经常用到这个目录。

注意: 如果使用Launcher,则可以通过“File”菜单中的“Create New Application....”来新建项目。Launcher会创建一个新项目以及几个文件,随着对这个示例应用程序逐步深入的讲解,我们将会编辑所有这些文件。另外,你也可以手工创建项目目录和那些文件,然后通过“File”菜单中的“Add Existing Application....”将其添加到Launcher中。

创建一个名为clock的目录以存放本项目。使用你最喜欢的文本编辑器在这个目录中创建一个名为app.yaml的文件,其内容如示例2-1所示。

示例2-1:这个简单应用程序的app.yaml配置文件application: clock

version: 1

runtime: python

api_version: 1

handlers:

- url: /.*

script: main.py

该配置文件的格式叫做YAML,这是一种用于配置文件和网络消息的开放格式。目前,你还不需要了解关于此格式的更多知识,只要能看明白这个配置文件就行了。

在本例中,该配置文件将告诉App Engine:这是一个版本号为1的名叫c l o c k的应用程序,它用的是版本号为1的Python运行时环境(API version),该应用程序的每个请求(所有URL都匹配正则表达式/.*)都由名为main.py的Python脚本进行处理。

在app.yaml的同一个目录中,再创建一个名为main.py的文件,其内容如示例2-2所示。

示例2-2:一个简单的Python请求处理器脚本import datetime

print 'Content-Type: text/html'

print ''

print '

The time is: %s

' % str(datetime.datetime.now())

这个简单的Python程序从Python标准库中引入了datetime模块,输出一个声明了文档类型(HTML)的HTTP头,然后再输出一个包含当前时间(根据Web服务器的时钟)的消息。

Python请求处理器使用CGI协议与App Engine进行通信。当App Engine接收到来自Python应用程序的请求时,会根据该请求的数据在环境变量中建立一个运行时环境,根据配置文件判断应该运行哪段处理器脚本,然后再根据请求体(如果有)在标准输入流上运行该脚本。处理器脚本用于执行请求所需的全部动作,然后把响应(包括一个有效的HTTP头)输出到标准输出流。这个简单示例会忽略掉请求数据,输出一个声明了响应数据的类型的头,然后再输出一段带有当前时间的消息。

现在,我们来测试一下刚才所做的这个应用程序。运行dev_appserver.py命令以打开开发服务器,注意把项目目录(clock)的路径作为参数:dev_appserver.py clock

注意: 如果当前工作目录就是刚才所创建的那个clock目录,则在运行该命令时可以使用一个点(.)作为项目的路径:dev_appserver.py .

服务器启动之后会在控制台输出一些消息。如果这是你***次在命令行中运行该服务器,它可能会问你要不要检查更新,输入你的答案,然后按Enter键。不用理会“Couldnot read datastore data”和“Could not initialize images API”之类的警告。如果你按照之前所讲的那些安装步骤安装,这些警告都是正常的。***一条消息应该是这样的:INFO ... Running application clock on port 8080: http://localhost:8080

这条消息说明服务器启动成功了。如果没看到这条消息,则可以在其他消息里面看看有没有什么提示,还有就是再看看app.yaml文件中的语法是不是对的。

通过在Web浏览器中访问服务器的URL可测试你的应用程序:http://localhost:8080/

浏览器将会显示出与图2-4类似的页面。

091932149.jpg

图2-4:第1版的时钟应用程序在浏览器中的样子

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值