2013-11-23 78 views
-2

異常值:不能連接 'STR' 和 'NoneType' 對象的Django站點地圖

不能連接 'STR' 和 'NoneType' 對象

class BrandSitemap(Sitemap): 
    def items(self): 
     return Page.objects.filter(parent__title=u'Бренды').values(
      'short_url', 'publish_date') 

    def location(self, obj): 
     return '/brand/' + obj['short_url'] 

    def lastmod(self, obj): 
     return obj['publish_date'] 

如何清理OBJ [ 'SHORT_URL'〕中網址結尾的所有數字?例如:前:奸細-1後:奸細

DEF位置(個體,OBJ): 返回 '/品牌/' + STR(OBJ [ 'SHORT_URL'])

+3

什麼'obj'你調用'位置'?看起來像'obj ['short_url']'是'None' – Lynn

+0

'str(obj ['short_url'])''不工作嗎? – AHuman

回答

0

嘗試以下:

if 'short_url' in obj: 
    return '/brand/' + obj['short_url'] 
else: 
    return '/error/' # missing short_url so this may be an error you need to handle 

這可能是縮短到

return '/brand/' + obj['short_url'] if 'short_url' in obj else '/error/' 

你以前也有obj['publish_date']</i>我不能告訴,如果這是一個錯字,或者你是從字面上試圖做到p在那裏...

然而,你應該看看你的obj中應該填充什麼short_url - 你可能會調用不按順序的東西,或者它沒有填充你相信的東西。

相關問題