无法在Google App Engine(Python)中显示图片

时间:2010-04-21 07:46:40

标签: python google-app-engine

我无法在使用Google App Engine(Python)创建的页面中显示图像。

我的app.yaml文件有:

- url: /images
  static_dir: images

python文件有:

self.response.out.write("""<img src = '/images/title.gif' />""")  

图像仍未显示在页面中。

由于

5 个答案:

答案 0 :(得分:1)

我会测试:

  1. 您看到http://yourapp.appspot.com/images/title.gif吗?
  2. 您确定图片文件夹位于您的应用根目录吗?
  3. Title.gif是一个“工作”的形象?
  4. 我建议您使用静态文件夹存储在子文件夹中组织的静态内容:

    Root  
      static  
         images
         stylesheets
         javascripts
      app.yaml
    

    并映射这样的网址/图片。

    - url: /images
      static_dir: static/images
      mime_type: image/png 
    

    mime_type: image/png是可选的;如果未指定,则文件的MIME类型将从文件的文件扩展名派生。

答案 1 :(得分:1)

我遇到了类似的问题。解决方案最终非常简单。您需要尝试在main.app的apphandler之前重新定位静态目录的url处理程序 像这样:

处理程序:

  • url:/favicon\.ico static_files:favicon.ico上传:favicon\.ico
  • url:/photos static_dir:photos
  • url:.*脚本:main.app

在我在google上找到解决方案之前45分钟让我恼火。

答案 2 :(得分:0)

你应用的根目录中是否有一个名为'images'的目录?它包含什么?如果您尝试直接获取文件,会得到什么?

答案 3 :(得分:0)

原因可能是系统之间的大小写差异。 Windows不是上/下敏感,但Linux是。假设您的实际文件名是Title.GIF。如果它在Windows机器(本地计算机)上写为title.gif,但在Linux服务器(Google App Server)上不起作用,则可以正常工作。

答案 4 :(得分:0)

发生这种情况的一个可能原因是,如果您不在- url之间提供空间,并且您没有重新启动服务器。它将显示404那个时间。如果您重新启动服务器,则会在app.yaml中遇到错误。这是人们犯下的一个非常常见的错误。因为你的方式似乎应该可以正常工作。