2011-01-22 88 views
4

我试图在App Engine应用程序中描述端点,并且难以混合静态和动态内容的目录结构。但是我的yaml规则彼此冲突。在改变我的目录结构之前,有没有人有建议?在app.yaml文件中混合使用静态和动态端点

目标是创建一个包含文档(静态HTML文件)和实现的目录。

/api 
    - /v1 
    - getitdone.py 
    - doc.html 
    - index.html 

我想我应该用我的应用程序YAML做...

- url: /api/v1/getitdone 
    script: api/v1/getitdone.py 

- url: /api/ 
    static_files: api/index.html 
    upload: api/index.html 

- url: /api 
    static_dir: api 

但是这将导致动态终结点失败。我假设static_dir参考是打破它。我如何在不描述每个脚本和静态文件引用的情况下做到这一点(我有更多的东西在这里列出)?

+0

他们'失败'如何?端点按顺序进行评估,因此后面的声明不应该影响先前的声明。 – 2011-01-23 23:49:57

+0

另外,你确定这是你想要处理它吗?直接服务.py文件是非常不寻常的。 – 2011-01-23 23:50:21

回答

1

原因是您将/api/标记为静态目录,因此您的脚本将作为静态文件上载,这使得它们无法访问App Engine运行时。

最简单的解决方案是将动态代码和静态资源放在应用程序目录的不同部分,并使用app.yaml将它们映射到所需的URL结构中。

相关问题