google-app-engine - GAE : How to upload files to be accessed by the application?

标签 google-app-engine templates go

更新:我发现了问题。我的 HTML 文件静态规则仍然匹配模板,即使它们位于子目录中。将规则更改为不再匹配后,应用程序可以访问这些文件。

我正在创建一个 Google AppEngine 应用程序。我正在使用 Go 语言,但我不确定这是否相关。我想使用带有单独模板文件的模板。所以应用程序必须读取模板文件。这在本地有效,但在将应用程序上传到 GAE 后,调用 template.ParseFiles() 时出现“没有这样的文件或目录”。

所以我在想,我必须以某种方式指明模板文件是应用程序文件,这样它们才能以正确的方式上传。我认为我的模板文件可能因此在我的 app.yaml 中作为静态文件上传

- url: /(.*\.html)
  static_files: \1
  upload: .*\.html

所以我将它们移动到它们自己的目录中。但这并没有什么不同。我尝试在 app.yaml 中为我的脚本规则添加上传指令,如下所示:

- url: /.*
  script: _go_app
  upload: templates/.*

但这似乎是不允许的。那么谁能告诉我如何从我的 GAE 应用程序访问模板文件(或任何数据文件)?

谢谢!

最佳答案

项目目录中的所有文件都会自动上传。

如果您的应用需要访问它们(这是您使用模板时的情况),您不能将它们标记为静态。这就是第一个解决方案失败的原因。

第二次尝试,也没有成功,因为上传不是 url 描述的成员。

在您的情况下,只需部署您的应用程序,文件将自动上传并可供您的应用程序使用(您可能需要获取项目的基本路径以构建模板的完整路径)。

关于google-app-engine - GAE : How to upload files to be accessed by the application?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609457/

相关文章:

mysql - 谷歌云 sql 从第一代迁移到第二代,停机时间最少甚至没有

c# - 为什么我的 Expander 在设置模板时没有展开?

google-app-engine - GAE 推送队列任务不在测试中运行,生成孤立的 dev_appserver 进程

go - 如何在 Golang 中正确使用可变参数?

google-app-engine - Google App Engine 是否支持自签名证书? (不是自定义域)

google-app-engine - Flask 应用程序返回 "502: Bad Gateway",因为 Google Sloud SDK 认为端口正在使用中([可能] 没有)

c++ - 无论如何,有没有根据 C++ 中参数的成员来专门化模板?

golang rune() 函数是如何工作的

java - 谷歌应用引擎: Exception while using TaskQueue with JUnit test cases

c++ - 看不懂C++11模板函数参数推导