例外值:
无法连接'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']所有数字?例如:之前:agent-provocateur-1之后:agent-provocateur
def location(self,obj): return'/ brand /'+ str(obj ['short_url'])
答案 0 :(得分: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
的内容 - 你可能会把事情搞乱,或者没有填充你认为的东西。