App Engine中文教程

使用静态文件|中文版Google App Engine入门指南

和其他的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 插入如下几行:

  <head>
    <link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
  </head>

刷新并查看效果,新版本的程序使用了样式表。

上一页 下一页


如果大家对于教程里的内容有疑问,或是想要参加到教程的编写工作中,欢迎访问:

康爷的博客