scribble

守望的麦子

About Projects Tool Guestbook

30 Apr 2009
Google App Engine 如何使用静态文件

(本文译自:Google App Engine Getting Started)

和其他的web发布环境不同,Google App Engine 不支持直接将应用目录下的文件直接输出的功能。也就是说,如果我们将模板文件取名为 index.html, 我们并不能直接通过URL /index.html来访问这个文件。但是现在有非常多的应用需要我们提供文件直接输出的功能,例如图片,CSS,JavaScript等等,这些类型的文件都需要直接输出到客户端。GAE提供了这样的功能,你不需要编写自己的处理模块来进行额外的处理。

使用静态文件

编辑helloworld/app.yaml 修改内容为:

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /stylesheets
static_dir: stylesheets

  • url: /.*
    script: helloworld.py

新加的handlers 部分定义了两个URL处理模块,其中 /stylesheets开头的所有URL都定义并转向了静态文件夹stylesheets ,如果在这个文件夹中发现了请求的文件,就会直接把这个文件的内容返回给客户端;而其他请求都会由helloworld.py 脚本进行处理.

默认情况下,App Engine 按照文件名后缀处理静态文件,如 .css 结尾的文件就会使用MIME类型text/css.

GAE按照在 app.yaml定义的顺序对URL进行处理。在这个例子里 /stylesheets 将先于 /.* 对路径进行处理。

想要了解更多在 app.yaml中的选项,请查看 the app.yaml reference.

下面,我们创建 helloworld/stylesheets目录,并且在这个目录下创建一个新文件 main.css :

body {
font-family: Verdana, Helvetica, sans-serif;
background-color: #DDDDDD;
}

最后,编辑 helloworld/index.html 插入如下几行:

刷新并查看效果

接下来…

我们的程序已经基本完备了,现在把它发布到Google的服务器上去吧……

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook