Python App Engine 应用程序使用 CGI 标准与网络服务器通信。当服务器收到来自应用程序的请求时,它使用环境变量和标准输入流(对于 POST 数据)中的请求数据运行应用程序。为了做出响应,应用程序会向标准输出流写入响应,包括 HTTP 标头和内容。
让我们开始构建显示简短消息的小型应用程序。
创建名为 helloworld 的目录。该应用程序的所有文件都驻留在该目录中。
在 helloworld 目录中,创建名为 helloworld.py 的文件,并赋予其以下内容:
print 'Content-Type: text/plain' print '' print 'Hello, world!'
该 Python 脚本会对带有 HTTP 标头(描述内容、空行和消息 Hello, world!)的请求作出响应。
App Engine 应用程序中包含名为 app.yaml 的配置文件。除其他内容外,文件还介绍了哪个处理程序脚本应用于哪个网址。
在 helloworld 目录中,创建名为 app.yaml 的文件,内容如下:
application: helloworld version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py
从上到下,该配置文件描述了有关该应用程序的以下内容:
helloworld。当您在用 App Engine 注册应用程序的最后步骤时,您将选择唯一标识符,然后更新该值。在开发过程中,该值可以是任意内容。暂时将其设置保留为 helloworld。1。如果您在上传新版本的应用程序软件之前调整了该内容,App Engine 将会保留之前的版本,并可让您使用管理控制台回滚到之前的版本。python 运行时环境中,版本为“1”。将来可能支持其他运行时环境和语言。/.*(所有网址)匹配的网址的所有请求应由 helloworld.py 脚本进行处理。该文件的语法为 YAML。有关配置选项的完整列表,请参阅 app.yaml 参考。
用处理程序脚本和配置文件将每个网址映射到处理程序后,应用程序就完成了。您可以立即用 App Engine SDK 附带的网络服务器对其进行测试。
用以下命令启动网络服务器,向其提供到 helloworld 目录的路径:
google_appengine/dev_appserver.py helloworld/
网络服务器正在运行,在端口 8080 监听请求。通过在网络浏览器中访问以下网址测试应用程序:
有关运行开发网络服务器的详细信息(包括如何更改它使用哪个端口),请参阅开发网络服务器参考,或使用 --help 选项运行命令。
您可以在开发应用程序时保持网络服务器运行。网络服务器将自动查看您源文件中的更改,并在必要时重新加载它们。
立即尝试:保持网络服务器运行,然后编辑 helloworld.py 以将 Hello, world! 更改为其他内容。重新加载 http://localhost:8080/ 以查看更改。
要关闭网络服务器,请确保终端窗口处于活动状态,然后按 Control-C(或您的控制台上相应的“break”键)。
您可以使网络服务器在本教程的其余部分时保持运行。如果您需要停止它,可以通过运行以上命令再次重新启动它。
您现在完成了 App Engine 应用程序!您可以立即部署该简单问候并与全球用户共享。但是在部署之前,让我们考虑使用网络应用程序框架来更轻松地添加功能。
继续转至使用 Webapp 框架。