嗨,我想知道为什么我的图像没有出现。我认为它既作为blobproperty存储又存储在blobstore中,因为它看起来像列表页面上的缩略图。未显示图片的页面地址为http://www.koolbusiness.com/servead/4125209
同一图片中的缩略图显示在列表http://www.koolbusiness.com/li
中我的一些显示图片的模板代码是:
{% if ad.matched_images.get %} <table><tr>
<td>
<div class="ad_pict" id="display_image"><img src="{{url}}" alt="" onload="show_hidden_elements();return false;"></div>
</td> <td>
{% ifequal len 1 %}
{% else %}
{% for im in imv %}
<div id="thumb0" class="ad_thumb ad_border_solid_black" onclick="showLargeImage('{{im}}');thumbnailBorder(this, 5 )">
<table class="clean_table shadowed_thumb" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><img src="/_/img/thumb_left_top.gif"></td>
<td class="top_middle" align="left" valign="bottom"></td>
<td></td>
</tr>
<tr>
<td class="middle_left"></td>
<td><img src="{{im}}=s120" alt="">
</td>
<td class="single_middle_right" valign="top"><img src="/_/img/thumb_single_right_top.gif"></td>
</tr>
<tr>
<td></td>
<td class="single_bottom_center" valign="top"><img src="/_/img/thumb_single_left_bottom.gif"></td>
<td valign="top"><img src="/_/img/thumb_single_right_bottom.gif"></td>
</tr>
</tbody>
</table>
</div>
{% endfor %}
{% endifequal %}
用于加载模板的服务器端python的Ans是:
class AdHandler(I18NHandler):
def get(self, id):
ad = Ad.get_by_id(long(id))
if not ad:
self.error(404)
return
image = ad.matched_images.get()
url=''
if image:
if image.primary_image:
url = images.get_serving_url(str(image.primary_image.key()))
imv = []
table=''
for i in ad.matched_images:
if i.primary_image:
i1=images.get_serving_url(str(i.primary_image.key()))
imv.append(i1)
self.render_template("imageinfo.html", {'url':url,
'imv':imv,'len':len(imv),
'ad':ad,
'image': image,
'logout_url': users.create_logout_url('/'),
})
如果我使用旧版本的页面,图像确实出现,所以很明显我在数据库中有它,我刚刚写了一个bug,需要构建我从blobproperty到blobstore的迁移:{{3 }}
由于图像出现在后面的网址中,我知道它就在那里,这只是我的代码中某个我无法重现的错误,导致图像无法显示。谢谢你的帮助
答案 0 :(得分:4)
我猜这两个if语句中的一个正在评估为false:
if image:
if image.primary_image:
url = images.get_serving_url(str(image.primary_image.key()))
如果您实际调用的是get_serving_url,则会获得有效的服务URL或例外。相反,url仍然有它的起始值,一个空字符串。