奇怪的错误,异常值:类型对象没有属性‘DoesNoExist’
我有一段代码,但我不明白为什么会出现错误,提示我似乎没有放置“DoesNotExist”处理器,而实际上它已经在那儿了……错误信息是:
在 /hotel/edit/hotel-riodssdfsdf-google-facebook-351/ 发生了 AttributeError 错误
类型对象 'hotel' 没有属性 'DoesNoExist'
请求方法:GET 请求网址: http::9000/hotel/edit/hotel-riodssdfsdf-google-facebook-351/ Django 版本:1.6.2 异常类型:AttributeError 异常值:
类型对象 'hotel' 没有属性 'DoesNoExist'
异常位置:views.py 文件的 update 函数,第 171 行
第 171 行是正确的……:except hotel.DoesNoExist:
if 'member_id' not in request.session:
return HttpResponseRedirect('/login/')
else:
if request.POST:
try:
hotelObject = hotel.objects.get(slug=slug)
form = UpdateHotelForm(request.POST, instance=hotelObject)
if form.is_valid():
now = datetime.datetime.now()
name = form.cleaned_data['name']
slug_name = slugify(name + ' ' + str(now.microsecond))
hotels = hotel.objects.get(
id=hotelObject.id,
publisher=request.session['member_id'])
hotels.name = name
hotels.slug = slug_name
hotels.save()
args = {}
args.update(csrf(request))
args['form'] = form
args['message'] = False
args['name'] = hotelObject.name
return HttpResponseRedirect('/hotel/edit/' + slug_name)
else:
args = {}
args.update(csrf(request))
args['form'] = form
args['message'] = True
args['name'] = hotelObject.name
return render_to_response('hotel/edit_hotel.html', args)
except hotel.DoesNoExist:
return HttpResponseRedirect('/hotel/')
else:
try:
hotelObject = hotel.objects.get(slug=slug)
form = UpdateHotelForm(request.POST, instance=hotelObject)
form = UpdateHotelForm(instance=hotelObject)
args = {}
args.update(csrf(request))
args['form'] = form
args['name'] = hotelObject.name
return render_to_response('hotel/edit_hotel.html', args)
except hotel.DoesNoExist:
return HttpResponseRedirect('/hotel/')
2 个回答
1
你把 DoesNotExist
拼错成了 DoesNoExist
。把它改成:
except hotel.DoesNotExist:
1
正确的写法是 hotel.DoesNotExist,而不是 hotel.DoesNoExiste。