2012-09-27 16 views
0

app.yaml如何让GAE应用程序内的静态URL

handlers: 
    - url: /static 
    static_dir: static 

    - url: /.* 
    script: main.app 

有没有办法,我webapp2的代码中,得到/static路线的绝对URL?

+0

你的意思是检查静态文件是文件夹中?并知道他们有什么绝对的网址? – aschmid00

+0

我的意思是在我的应用程序中,我需要为我的静态文件发出绝对URL。这是因为我需要从外部发布URL。我需要将我的其中一个脚本文件的URL发布到外部服务(shopify),以便他们调用此URL。 – akonsu

回答

1

撰写的绝对URL当你定义在你的应用程序,你可以计算的URI路径。请参阅:http://webapp-improved.appspot.com/guide/routing.html#building-uris 有了这些信息和您对app.yaml的了解,您可以计算静态url的uri。

在你的main.app中添加一个静态路由定义。它只会用于构建uri,并且不会用于路由。从webapp2的文档

修改例如:

app = webapp2.WSGIApplication([ 
    webapp2.Route('/', handler='HomeHandler', name='home'), 
    webapp2.Route('/static', handler=HomeHandler, name='static'), # never used for routing 
]) 
+0

谢谢。这是我的怀疑,我不能避免重复自己,并在代码以及yaml文件中对pat进行硬编码。 – akonsu

+0

完整的解决方案可能会发布在此吗?将非常感激。 –

+0

我已经更新了我的答案。 – voscausa

0

不,没有办法查询,循环或找出静态上传的文件夹中的内容。

但是只要您不用新的静态文件部署应用程序,静态文件就不会改变。

你需要保持静态文件和自己

相关问题