-2

异常值:

无法连接“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'] 在 url 末尾的所有数字?例如:之前:agent-provocateur-1 之后:agent-provocateur

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

4

1 回答 1

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>,我不知道这是一个错字还是你真的试图把它放在那里......

但是,您应该查看应该short_url在您的 obj 中填充的内容 - 您可能正在无序地调用事物,或者它没有填充您认为的内容。

于 2013-11-24T01:34:18.060 回答