-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']

URLの最後にあるobj ['short_url']をすべての数字でクリーンアップする方法は? 例: 前: エージェント-挑発者-1 後: エージェント-挑発者

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 に答える