Django / Python 捕获异常失败?
这段代码是不是应该能正常工作呢?
if request.GET.has_key("category"):
try:
post_list = post_list.filter(category=request.GET.get("category"))
except ValueError:
print "Category is not an integer"
这里的Category是一个整数类型的字段。我想处理一种情况,就是当用户输入的网址是 http://myurl.com?category=
,而这个category没有值的时候。
谢谢你的帮助!
2 个回答
2
其实不需要用if
语句,因为request.GET.get
如果没有设置的话,会返回一个空值(None)。
try:
post_list = post_list.filter(category=int(request.GET.get("category")))
except ValueError:
print "Category is not an integer"
except TypeError:
print "no Category passed.."
3
试试这样做:
category = request.GET.get("category")
if category:
try:
post_list = post_list.filter(category=int(category))
except ValueError:
print "That's not an integer"