UnboundLocalError在赋值之前引用了局部变量“term_list”

2024-06-26 00:09:14 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的Django视图中,我正在构建一个要在模板中读取的列表 我的列表名是term_list,我在for循环中追加到它后面

def lease_payment_details(request, pk): 
    lease_id = pk

    if lease_id:
        try:
            lease = get_object_or_404(Lease, pk=lease_id)
            try:
                activeterm = LeaseTerm.objects.get(lease=lease)
                start = activeterm.start_period.order_value
                end = activeterm.end_period.order_value

                period_list = Period.objects.filter(order_value__lte = start, order_value__gte = end)
                total = 1000
                for obj in period_list:
                    obj.discount = 0
                    obj.amount = activeterm.amount
                    obj.topay = total - obj.amount - obj.discount
                    term_list.append(obj)



                payment = activeterm.leasepayment_set.all().order_by('payment_date')
            except LeaseTerm.DoesNotExist:
                activeterm = None
                payment = None


        except ValueError:

            raise Http404get_object_or_404(Lease, pk=lease_id)
    else:

        lease = "None"
        activeterm = "None"
        payment = "None"
        term_list = "None"

    data = {
            'lease': lease, 'payment': payment, 'activeterm':activeterm,'term_list':term_list, 
            }

    return render(request, 'lease/lease_payment_details.html', {'data': data})

但我得到了这个错误

local variable 'term_list' referenced before assignment

我做错什么了?在


Tags: noneidobjvalueorderpaymentamountstart