我试图学习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 -
有人知道发生了什么事吗?
答案 0 :(得分:4)
处理程序的顺序很重要。 /.*匹配每个URI,因此您通常希望在最后。请尝试以下方法......
handlers:
- url: /images
static_dir: images
- url: /.*
script: myscript.py
另外,请确保您的图像文件位于static_dir中指定的目录图像下。
希望这有帮助。