1

以前有人问过这个问题,但似乎没有得到回答。所以我又问了一遍。

在带有 python 的 Google App Engine 上,我的应用程序根目录下有两个目录:/templates/static/files. 假设base.html/templates其中,它包含以下模板语句:

{% include "privacy.html" %}

privacy.html如果文件也在目录中,则上述语句将起作用/templates。但是,如果privacy.html移动到 directory /static/files,以下语句将不起作用(不包含任何内容):

{% include "/static/files/privacy.html" %}

为什么以及如何解决问题?谢谢。

4

1 回答 1

2

我假设您在 app.yaml 中为/static/files文件夹使用静态文件处理程序。在这种情况下,请阅读以下内容:

https://developers.google.com/appengine/docs/python/config/appconfig#Static_File_Handlers

本质上,静态文件在部署时放在单独的文件系统上,您的应用程序将无法访问。

这里有一些解决方法:

  • 不要将模板放在静态文件夹中。这通常甚至没有意义,因为您不直接向最终用户提供模板。
  • 如有必要,复制文件夹,以便只有一个副本具有静态处理程序。
  • 使用符号链接“复制”文件夹。
于 2013-07-17T03:39:58.307 回答