My favorites | 中文(简体) | Sign in

使用静态文件

与传统网络托管环境不同,Google App Engine 不直接在您的应用程序的源目录之外提供文件,除非被配置为可进行此项操作。我们将模板文件命名为 index.html,但这不会自动使该文件在网址 /index.html 上可用。

但在许多情况下,您希望将静态文件直接提供给网络浏览器。通常,图像、CSS 样式表、JavaScript 代码、电影和 Flash 动画都使用网络应用程序存储并直接提供给浏览器。您可以命令 App Engine 直接提供特定文件,而不必对自己的处理程序进行编码。

使用静态文件

编辑 helloworld/app.yaml 并使用以下内容替换其内容:

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

handlers:
- url: /stylesheets
  static_dir: stylesheets

- url: /.*
  script: helloworld.py

handlers 部分为网址定义了两个处理程序。当 App Engine 收到网址以 /stylesheets 开头的请求时,App Engine 会将路径的剩余部分映射至 stylesheets 目录中的文件,而且如果找到了相应的文件,该文件的内容就会返回至客户端。其他所有网址将与 / 路径相匹配,并由 helloworld.py 脚本进行处理。

默认情况下,App Engine 会根据文件扩展名使用 MIME 类型提供静态文件。例如,会以 text/css MIME 类型提供名称以 .css 结尾的文件。您可以用其他选项配置明确的 MIME 类型。

网址处理程序路径模式会以它们在 app.yaml 中显示的顺序从上到下进行测试。在这种情况下,/stylesheets 模式将在 /.* 模式之前与相应路径进行匹配。有关网址映射和您可以在 app.yaml 中指定的其他选项的详细信息,请参阅 app.yaml 参考

创建目录 helloworld/stylesheets。在该新目录中,创建一个名为 main.css 的新文件,其内容如下:

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

最后,编辑 helloworld/index.html 并在顶部的 <html> 行后插入以下行:

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

在您的浏览器中重新加载该页面。新版本将使用该样式表。

下一步...

到了展示您所完成的应用程序的时候了。

继续上传您的应用程序