dev_appserver:静态路由在哪里路由?

时间:2012-11-30 01:39:22

标签: google-app-engine

任何人都可以粗略地指出python sdk代码静态路由在http_server中加载或访问的位置。这是为了调试加载静态图像的失败。在eclipse中,我可以看到静态路由从yaml文件加载到var appinfo中,稍后可以看到在请求期间检查的动态路由,但是在执行中间步骤时遇到问题。 感谢

更新11/30

以前在某些文档和帖子中建议的yaml,path等的尝试变体。 这是其中之一。在这种情况下,没有404错误,但图像没有加载,Firebug报告“无法加载给定的URL”。

的app.yaml

application: crazywidget2  
version: 1  
runtime: python27  
api_version: 1  
threadsafe: false  

handlers:  
- url: /images  
  static_dir: /images  
  secure: always  

-url: /.*  
  script: crazywidget2.py  
  secure: always  

libraries:  
- name: jinja2    
  version: latest

的index.html

...  
<img src="/images/xyz.gif" alt="XYZ illustration" />  
...  

crazywidget2.py

...
class MainPage(webapp2.RequestHandler):

    def get(self):
        template = jinja_environment.get_template('index.html')
        self.response.out.write(template.render({}))

...
...

app = webapp2.WSGIApplication([('/script_send', ScriptSend),
                        ('/resetkey', ResetKey),
                        ('/admin', Admin),  
                        ('/start', Start),  
                        ('/', MainPage)],  
                            debug=True)  


 def main():

    app.run()

if __name__=='__main__':
    main()                    

更新12/3

事实证明,在上述情况下,如果static_dir是相对的,则使用“images”而不是“/ images”。在绝对情况下,它试图按原样打开该路径。也许其他一些变化也可以。

2 个答案:

答案 0 :(得分:0)

以下是三个相关的代码指针(全部在google/appengine/tools/dev_appserver.py中):

我会假设,有更简单的方法来调试您的问题。如果你要发布你的app.yaml以及你访问的路径和你得到的回复,这里的人可以开始帮助你。

答案 1 :(得分:0)

只是预感:如果在处理程序的/images末尾添加斜杠,它是否有效?尝试在/images中使用/images/的{​​{1}}替换app.yaml

相关问题