尝试分配blob对象时出错

时间:2011-03-25 17:41:07

标签: python django google-app-engine

以下代码

for h in hits:
    urls.append(h['url'])
    result = db.Blob(urlfetch.Fetch(h['url']).content)
    model.image = result

返回错误

  

无法连接'str'和   'NoneType'对象。

2 个答案:

答案 0 :(得分:0)

使用一些调试打印来查明urlfetch.Fetch(h['url']).content是否甚至返回任何内容。根据错误,结果为Nonedb.Blob()期望结果为字符串。

如果是,请在尝试应用content之前检查errors = [] for h in hits: urls.append(h['url']) content = urlfetch.Fetch(h['url']).content if content is not None: result = db.Blob(urlfetch.Fetch(h['url']).content) else: print 'No content for', h['url'] errors.append(h) continue model.image = result 的值。也许有一点错误跟踪好的措施?

这是一个简单的例子:

{{1}}

答案 1 :(得分:0)

我只在这一行看到连接:

urls.append(h['url'])

通过错误判断:'String'将是url,'NoneType'将是h ['url'] 很可能h ['url']是空的。通过将其打印到控制台来确保这一点。