Google App Engine,上传图片

时间:2012-05-12 02:40:26

标签: python html google-app-engine

我试图学习Web应用程序开发。我目前正在使用Google App Engine来创建应用。我正在尝试在我的网站上显示图片,但该网站只显示替代文字。

我第一次尝试这个时,我不知道静态文件。一旦我解决了这个问题,图像的请求行显示:'“GET /images/pic.jpg HTTP / 1.1”200 - '。当我运行dev_appserver时,它显示一个警告,说我需要python模块“PIL”来进行成像。一旦我下载并安装了警告消失但它仍然无法加载图片!请求行仍然显示它找到了图像。但所有网站显示都是替代文字!

无论如何,这是app.yaml和脚本的代码: (注意:我正在使用python 2.5的代码)

----------- ------------的app.yaml

application: mysite
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: myscript.py

- url: /images
  static_dir: images

----------脚本-----------

template = """
        <body>
                <br>
                <br>
                <img src="/images/pic.jpg" alt="Clone Pic" width="100", height="70"/><br>
        </body>
"""
print "Content-Type: text/html"
print template

这是我的应用程序目录:

Root

   app.yaml

   script.py

   images

      pic.jpg

我最近发现即使我在脚本中更改了images目录的名称

<img src="/foo/pic.jpg...)

请求行仍然说好了

"GET /foo/pic.jpg HTTP/1.1" 200 -

有人知道发生了什么事吗?

1 个答案:

答案 0 :(得分:4)

处理程序的顺序很重要。 /.*匹配每个URI,因此您通常希望在最后。请尝试以下方法......

handlers:
- url: /images
  static_dir: images

- url: /.*
  script: myscript.py

另外,请确保您的图像文件位于static_dir中指定的目录图像下。

希望这有帮助。