2012-05-12 47 views
2

我试图学习web应用程序开发。我目前正在使用Google App Engine来创建应用程序。我正在尝试在我的网站上展示图片,但该网站只显示了替代文字。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 

这是我的应用程序目录厕所KS这样的:

​​

最近我发现,即使我在我的脚本改变图像目录的名称

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

请求行还表示,其确定

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

任何人知道发生了什么事?

回答

4

您的处理程序的顺序很重要。 /.*匹配每个URI,因此通常最后需要这样做。请尝试以下...

handlers: 
- url: /images 
    static_dir: images 

- url: /.* 
    script: myscript.py 

此外,请确保您的图像文件在static_dir中指定的目录图像下。

希望这会有所帮助。

+1

谢谢!这解决了问题! – Harrison