UnboundLocalError:赋值前引用的局部变量()

Posted

技术标签:

【中文标题】UnboundLocalError:赋值前引用的局部变量()【英文标题】:UnboundLocalError: local variable () referenced before assignment 【发布时间】:2021-10-08 12:48:33 【问题描述】:

要理解代码:

shipment_booking 是我的餐桌名称。

我想检查我的表格中的“ord”值是否为“是”

如果我的“ord”字段值为“yes”,则返回“pre-budget”页面。

代码:

def bkp1(request):
    orderv="yes"
    allorder=shipment_booking.objects.all()
    return render(request, 'bkp1.html')
    if request.method=='POST'and 'pbd' in request.POST:
        for shipment_booking in allorder:
            o=shipment_booking.ords
            if orderv==o:
                return render(request, 'Pre-Budget.html')
            else:
                return render(request, 'bkp1.html','msg':'Please Add 
Order Details')
    else:

        return render(request, 'bkp1.html') 

【问题讨论】:

在哪一行抛出错误?你能正确对齐你的代码并告诉确切的错误消息吗? 顺便说一句,为什么return render(request, 'bkp1.html')allorder 之后? 你能把你定义shipment_booking的代码贴出来 【参考方案1】:

似乎您使用的是 shipping_booking 未定义变量而不是真正的 Django 模型名称。你的代码应该是这样的

allorder = ShipmentBooking.objects.all()

【讨论】:

这将取决于它是如何导入的,如果它被导入为import .... as shipment_booking 不应该这样,因为这不符合标准 PEP8 :/ 他提到 shipping_booking 是我的表名。所以这应该是Model中的一个对象

以上是关于UnboundLocalError:赋值前引用的局部变量()的主要内容,如果未能解决你的问题,请参考以下文章

Python 3:UnboundLocalError:分配前引用的局部变量[重复]

UnboundLocalError:分配前引用的局部变量“公会”

机器人框架:UnboundLocalError:分配前引用的局部变量“cellValue”

分配前引用的 /blog/search/ 局部变量 'cd' 处的 UnboundLocalError

Django:UnboundLocalError:分配前引用的局部变量“公司”

UnboundLocalError:分配前引用的局部变量“class_name”