Google App Engine没有这样的文件或目录:

时间:2013-12-30 18:38:03

标签: python google-app-engine

我正在尝试将项目部署到Google App Engine。我呈现的主HTML页面存储在项目的/documents/form.html目录中。如果我在本地主机上运行,​​它会发现文件没问题。当我部署到GAE时,它会给出以下错误:

File "/base/data/home/apps/s~andesonchase/1.372703354720880550/main.py", line 4, in <module>
    fileHandle = open("documents/form.html", "r")
IOError: [Errno 2] No such file or directory: 'documents/form.html'

我想我需要将它包含在我的app.yaml中,但我不确定正确的语法。

2 个答案:

答案 0 :(得分:3)

我可以列出三个选项

A)如前一张海报所建议的那样,将app.yaml添加为static_files条目,或者将文档设置为static_dir,允许使用原始http请求访问文件,但完全绕过main中的处理程序。吡啶

B)[可能是最kosha]是使用jinja2模板库as explained here访问该文件,该文件库不需要您明确地将文件添加到app.yaml

C)或者你现在可以坚持使用你在main.py中做的任何事情,但修改你的公开声明如下

import os.path
f = open(os.path.dirname(__file__) + '/documents/form.html')

this stackoverlflow answer中解释,因为open与appengine的工作方式略有不同

答案 1 :(得分:0)

如果您想将其作为静态文件提供,请按以下方式添加:

将其添加到您的app.yaml并将/form替换为您想要的网址

- url: /form
  static_files: documents/form.html
  upload: documents/form.html

如果你需要运行一个脚本,那就不一样了。

相关问题