作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个具有功能的插件:
def view(request):
year = Entry.archive.aggregate(aggregator('pub_date_from'))\
.values()[0].year
url = reverse('%s:blog_archive_year' % get_language(),
kwargs={'year': year})
return redirect(url)
year
时,它会查找第一个值。如果其中包含某些内容,它的效果很好,但如果没有,它就会发出
AttributeError
不包含任何数据的尖叫。我尝试添加try/exception,但我意识到
.values()[0].year
中没有
AtrributeError
。我怎么解决这个问题?提供默认值或其他任何方法都无济于事,因为它是看上去错误的部分。
最佳答案
AttributeError
是内置的异常,因此您可以执行以下操作:
try:
year = Entry.archive.aggregate(aggregator('pub_date_from')).values()[0].year
url = reverse('%s:blog_archive_year' % get_language(),
kwargs={'year': year})
return redirect(url)
except AttributeError, e:
return redirect(somewhere_else)
AttributeErro
,只需使用它即可)。
关于django - AtrributeError异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5152397/
我认为这更像是一个 PyCharm 问题,而不是单元测试问题,但我正在从一本书中学习测试,而这个示例让我失败了。我正在运行 PyCharm 2016.3.2 和 Python 3.6 import u
我是一名优秀的程序员,十分优秀!