在 Django 中使用 try except 进行错误处理

Error handling using try except in Django

我正在尝试输入一个值作为查询。为了处理错误,我使用了 try except 方法。但是当我输入无效条目时我仍然收到错误消息:车队匹配查询不存在。 我希望在模板上打印错误消息。难道我做错了什么?这是我的代码:

def entry(request):

    query = request.GET.get("q")
    if query:
        query = query.replace(" ","")

        result = Fleet.objects.get(veh = query)
        try:
            trip = Trip.objects.filter(veh = result).first()
            .
            .
            . 

        except (Fleet.DoesNotExist):
            EntryTable.objects.create(veh = query, in_time = datetime.now(), purpose = 'New vehicle')
            return render(request, 'fleet/msfleet.html', {'error_message': 'New vehicle entry noted'})
    else:
        return render(request, 'fleet/msfleet.html', {'error_message': 'Enter a vehicle number'})   

仔细查看堆栈跟踪。报错的是这一行

result = Fleet.objects.get(veh = query)

但是,这一行不在 try 块内,因此没有捕获异常。附带说明一下,您不需要 try 中的任何其他行,只需要可以引发异常的行。您可以从 except 部分中选择 return,并将所有其他代码移到 try/except 之后,或者将 else 部分与 try/except.[=15= 一起使用]