You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML转PDF时出现NameError: ObjectNotExist未定义错误求助

错误排查:NameError: name 'ObjectNotExist' is not defined

错误原因

  1. 异常类名称拼写错误:Django中处理模型查询不存在场景的正确异常类是ObjectDoesNotExist,代码里误写为ObjectNotExist。
  2. 未导入异常类:即便拼写正确,ObjectDoesNotExist也需要从Django核心异常模块导入后才能直接使用。

解决方法

方法一:导入全局异常类

  1. 在views.py文件顶部添加导入语句:
from django.core.exceptions import ObjectDoesNotExist
  1. 修正except块的异常名称:
except ObjectDoesNotExist:
    pass

方法二:使用模型专属异常(更精准)

无需额外导入,直接捕获Cart模型的专属不存在异常,针对性更强:

except Cart.DoesNotExist:
    pass

修正后的完整代码示例

from django.shortcuts import render
from django.core.exceptions import ObjectDoesNotExist
# 导入你的Cart、CartItem模型...

def cart(request, total=0, quantity=0, cart_item=None):
    try:
        cart = Cart.objects.get(cart_id=_cart_id(request))
        cart_items = CartItem.objects.filter(cart=cart, is_active=True)
        for cart_item in cart_items:
            total += (cart_item.product.price * cart_item.quantity)
            quantity += cart_item.quantity
    except ObjectDoesNotExist:
        pass
    context = {
        'total': total,
        'quantity': quantity,
        'cart_items': cart_items,
    }
    return render(request, 'store/cart.html', context)

内容的提问来源于stack exchange,提问作者hamid333

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 22:32:06